net.sf.saxon.value
Class SecondsDurationValue

java.lang.Object
  |
  +--net.sf.saxon.value.Value
        |
        +--net.sf.saxon.value.AtomicValue
              |
              +--net.sf.saxon.value.DurationValue
                    |
                    +--net.sf.saxon.value.SecondsDurationValue
All Implemented Interfaces:
java.lang.Comparable, Expression, Item, java.io.Serializable

public final class SecondsDurationValue
extends DurationValue

A value of type xsd:dayTimeDuration

See Also:
Serialized Form

Field Summary
 
Fields inherited from class net.sf.saxon.value.DurationValue
days, hours, milliseconds, minutes, months, negative, seconds, years
 
Constructor Summary
SecondsDurationValue(java.lang.CharSequence s)
          Constructor: create a duration value from a supplied string, in ISO 8601 format [+|-]PnDTnHnMnS
 
Method Summary
 DurationValue add(DurationValue other)
          Add two dayTime-durations
 int conversionPreference(java.lang.Class required, Configuration config)
          Get conversion preference for this value to a Java class.
 java.lang.Object convertToJava(java.lang.Class target, Configuration config)
          Convert to Java object (for passing to external functions)
 void display(int level, NamePool pool)
          Diagnostic print of expression structure
 DoubleValue divide(DurationValue other)
          Find the ratio between two durations
static SecondsDurationValue fromMilliseconds(long milliseconds)
          Construct a duration value as a number of milliseconds.
static SecondsDurationValue fromSeconds(double seconds)
          Construct a duration value as a number of seconds.
 ItemType getItemType()
          Determine the data type of the exprssion
 long getLengthInMilliseconds()
          Get length of duration in milliseconds, as a long
 double getLengthInSeconds()
          Get length of duration in seconds
 java.lang.String getStringValue()
          Convert to string
 DurationValue multiply(double n)
          Multiply duration by a number
 void normalize()
          Normalize the value, for example 90M becomes 1H30M
 DurationValue subtract(DurationValue other)
          Subtract two dayTime-durations
 
Methods inherited from class net.sf.saxon.value.DurationValue
badDuration, compareTo, convert, equals, getComponent, hashCode
 
Methods inherited from class net.sf.saxon.value.AtomicValue
convert, effectiveBooleanValue, evaluateAsString, evaluateItem, getCardinality, getPrimitiveValue, getTypedValue, iterate
 
Methods inherited from class net.sf.saxon.value.Value
analyze, asItem, asValue, collapseWhitespace, getDependencies, getSpecialProperties, getSubExpressions, inverse, normalizeWhitespace, promote, simplify, stringToNumber, trimWhitespace
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SecondsDurationValue

public SecondsDurationValue(java.lang.CharSequence s)
                     throws XPathException
Constructor: create a duration value from a supplied string, in ISO 8601 format [+|-]PnDTnHnMnS

Method Detail

getStringValue

public java.lang.String getStringValue()
Convert to string

Specified by:
getStringValue in interface Item
Overrides:
getStringValue in class DurationValue
Returns:
ISO 8601 representation.

normalize

public void normalize()
               throws XPathException.Dynamic
Normalize the value, for example 90M becomes 1H30M

XPathException.Dynamic

getLengthInSeconds

public double getLengthInSeconds()
Get length of duration in seconds

Overrides:
getLengthInSeconds in class DurationValue

getLengthInMilliseconds

public long getLengthInMilliseconds()
Get length of duration in milliseconds, as a long


fromSeconds

public static SecondsDurationValue fromSeconds(double seconds)
                                        throws XPathException
Construct a duration value as a number of seconds.

XPathException

fromMilliseconds

public static SecondsDurationValue fromMilliseconds(long milliseconds)
                                             throws XPathException
Construct a duration value as a number of milliseconds.

XPathException

multiply

public DurationValue multiply(double n)
                       throws XPathException
Multiply duration by a number

Overrides:
multiply in class DurationValue
XPathException

divide

public DoubleValue divide(DurationValue other)
                   throws XPathException
Find the ratio between two durations

Overrides:
divide in class DurationValue
Parameters:
other - the dividend
Returns:
the ratio, as a double
Throws:
XPathException

add

public DurationValue add(DurationValue other)
                  throws XPathException
Add two dayTime-durations

Overrides:
add in class DurationValue
XPathException

subtract

public DurationValue subtract(DurationValue other)
                       throws XPathException
Subtract two dayTime-durations

Overrides:
subtract in class DurationValue
XPathException

getItemType

public ItemType getItemType()
Determine the data type of the exprssion

Specified by:
getItemType in interface Expression
Overrides:
getItemType in class DurationValue
Returns:
Type.DAY_TIME_DURATION,

conversionPreference

public int conversionPreference(java.lang.Class required,
                                Configuration config)
Get conversion preference for this value to a Java class. A low result indicates higher preference.

Overrides:
conversionPreference in class DurationValue

convertToJava

public java.lang.Object convertToJava(java.lang.Class target,
                                      Configuration config)
                               throws XPathException
Convert to Java object (for passing to external functions)

Overrides:
convertToJava in class DurationValue
Parameters:
target - The class required by the external function
config - The configuration (needed for access to schema information)
Returns:
an object of the target class
XPathException

display

public void display(int level,
                    NamePool pool)
Diagnostic print of expression structure

Specified by:
display in interface Expression
Overrides:
display in class DurationValue
Parameters:
level - indentation level for this expression