java.io.Serializable
, java.lang.Comparable
, PullEvent
, SequenceIterable
, GroundedValue
, Item
, ValueRepresentation
, ConversionResult
public final class DayTimeDurationValue extends DurationValue implements java.lang.Comparable
typeLabel
microseconds, months, negative, seconds
EMPTY_CLASS_ARRAY, INDETERMINATE_ORDERING
EMPTY_VALUE_ARRAY
Constructor | Description |
---|---|
DayTimeDurationValue(int sign,
int days,
int hours,
int minutes,
long seconds,
int microseconds) |
Create a dayTimeDuration given the number of days, hours, minutes, and seconds.
|
Modifier and Type | Method | Description |
---|---|---|
DurationValue |
add(DurationValue other) |
Add two dayTimeDurations
|
int |
compareTo(java.lang.Object other) |
Compare the value to another duration value
|
AtomicValue |
copyAsSubType(AtomicType typeLabel) |
Create a copy of this atomic value, with a different type label
|
DecimalValue |
divide(DurationValue other) |
Find the ratio between two durations
|
static DayTimeDurationValue |
fromMicroseconds(long microseconds) |
Construct a duration value as a number of microseconds.
|
static DayTimeDurationValue |
fromMilliseconds(long milliseconds) |
Construct a duration value as a number of milliseconds.
|
static DayTimeDurationValue |
fromSeconds(java.math.BigDecimal seconds) |
Construct a duration value as a number of seconds.
|
long |
getLengthInMicroseconds() |
Get length of duration in microseconds, as a long
|
long |
getLengthInMilliseconds() |
Get length of duration in milliseconds, as a long
|
double |
getLengthInSeconds() |
Get length of duration in seconds
|
BuiltInAtomicType |
getPrimitiveType() |
Determine the primitive type of the value.
|
java.lang.CharSequence |
getStringValueCS() |
Convert to string
|
java.lang.Object |
getXPathComparable(boolean ordered,
StringCollator collator,
XPathContext context) |
Get a Comparable value that implements the XPath ordering comparison semantics for this value.
|
static ConversionResult |
makeDayTimeDurationValue(java.lang.CharSequence s) |
Factory method: create a duration value from a supplied string, in
ISO 8601 format [-]PnDTnHnMnS
|
DurationValue |
multiply(double n) |
Multiply duration by a number.
|
DurationValue |
negate() |
Negate a duration (same as subtracting from zero, but it preserves the type of the original duration)
|
DurationValue |
subtract(DurationValue other) |
Subtract two dayTime-durations
|
asAtomic, checkPermittedContents, convert, convert, effectiveBooleanValue, getCardinality, getItemType, getLength, getTypedValue, getTypeLabel, isNaN, itemAt, iterate, process, setTypeLabel, subsequence, toString
badDuration, convertPrimitive, equals, getComponent, getDays, getHours, getMicroseconds, getMinutes, getMonths, getSchemaComparable, getSchemaComparable, getSeconds, getStringValue, getYears, hashCode, makeDuration, normalizeDuration, normalizeZeroDuration, signum, simpleInteger
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
asItem, asItem, asIterator, asValue, convertToJava, fromItem, getCanonicalLexicalRepresentation, getIterator, iterate, makeQNameValue, reduce, stringToNumber
public DayTimeDurationValue(int sign, int days, int hours, int minutes, long seconds, int microseconds) throws java.lang.IllegalArgumentException
sign
- positive number for positive durations, negative for negative duratoinsdays
- number of dayshours
- number of hoursminutes
- number of minutesseconds
- number of secondsmicroseconds
- number of microsecondsjava.lang.IllegalArgumentException
- if the value is out of range; specifically, if the total
number of seconds exceeds 2^63; or if any of the values is negativepublic static ConversionResult makeDayTimeDurationValue(java.lang.CharSequence s)
s
- the lexical representation of the xs:dayTimeDuration valuepublic AtomicValue copyAsSubType(AtomicType typeLabel)
copyAsSubType
in class DurationValue
typeLabel
- the type label of the new copy. The caller is responsible for checking that
the value actually conforms to this type.public BuiltInAtomicType getPrimitiveType()
getPrimitiveType
in class DurationValue
public java.lang.CharSequence getStringValueCS()
getStringValueCS
in interface Item
getStringValueCS
in interface ValueRepresentation
getStringValueCS
in class DurationValue
Item.getStringValue()
public double getLengthInSeconds()
getLengthInSeconds
in class DurationValue
public long getLengthInMilliseconds()
public long getLengthInMicroseconds()
public static DayTimeDurationValue fromSeconds(java.math.BigDecimal seconds) throws XPathException
seconds
- the number of seconds in the duration. May be negativeXPathException
public static DayTimeDurationValue fromMilliseconds(long milliseconds) throws ValidationException
milliseconds
- the number of milliseconds in the duration (may be negative)ValidationException
- if implementation-defined limits are exceeded, specifically
if the total number of seconds exceeds 2^63.public static DayTimeDurationValue fromMicroseconds(long microseconds) throws java.lang.IllegalArgumentException
microseconds
- the number of microseconds in the duration. The maximum and minimum
limits are such that the number of days in the duration must fit in a 32-bit signed integer.java.lang.IllegalArgumentException
- if the value is out of range.public DurationValue multiply(double n) throws XPathException
multiply
in class DurationValue
n
- the number to multiply byXPathException
public DecimalValue divide(DurationValue other) throws XPathException
divide
in class DurationValue
other
- the dividendXPathException
public DurationValue add(DurationValue other) throws XPathException
add
in class DurationValue
other
- the duration to be added to this oneXPathException
public DurationValue subtract(DurationValue other) throws XPathException
subtract
in class DurationValue
other
- the duration to be subtracted from this oneXPathException
public DurationValue negate() throws java.lang.IllegalArgumentException
negate
in class DurationValue
java.lang.IllegalArgumentException
- in the extremely unlikely event that the duration is one that cannot
be negated (because the limit for positive durations is one second
off from the limit for negative durations)public int compareTo(java.lang.Object other)
compareTo
in interface java.lang.Comparable
other
- The other dateTime valuejava.lang.ClassCastException
- if the other value is not a DateTimeValue (the parameter
is declared as Object to satisfy the Comparable interface)public java.lang.Object getXPathComparable(boolean ordered, StringCollator collator, XPathContext context)
getXPathComparable
in class DurationValue
ordered
- true if an ordered comparable is neededcollator
- Collation used for string comparisoncontext
- XPath dynamic context