public final class YearMonthDurationValue extends DurationValue implements java.lang.Comparable<YearMonthDurationValue>
The state retained by this class is essentially a signed 32-bit integer representing the number
of months: that is, year*12 + month
; plus a type label allowing subtypes of xs:yearMonthDuration
to be represented.
months, nanoseconds, negative, seconds
typeLabel
NaN_MATCH_KEY
Modifier and Type | Method and Description |
---|---|
DurationValue |
add(DurationValue other)
Add two year-month-durations
|
int |
compareTo(YearMonthDurationValue other)
Compare the value to another duration value
|
AtomicValue |
copyAsSubType(AtomicType typeLabel)
Create a copy of this atomic value, with a different type label
|
DurationValue |
divide(double n)
Divide duration by a number.
|
BigDecimalValue |
divide(DurationValue other)
Find the ratio between two durations
|
static YearMonthDurationValue |
fromMonths(int months)
Construct a duration value as a number of months.
|
int |
getLengthInMonths()
Get the number of months in the duration
|
java.lang.CharSequence |
getPrimitiveStringValue()
Convert to string
|
BuiltInAtomicType |
getPrimitiveType()
Determine the primitive type of the value.
|
AtomicMatchKey |
getXPathComparable(boolean ordered,
StringCollator collator,
int implicitTimezone)
Get a Comparable value that implements the XPath ordering comparison semantics for this value.
|
static ConversionResult |
makeYearMonthDurationValue(java.lang.CharSequence s)
Static factory: create a year-month duration value from a supplied string, in
ISO 8601 format [+|-]PnYnM
|
YearMonthDurationValue |
multiply(double n)
Multiply duration by a number.
|
YearMonthDurationValue |
multiply(long factor)
Multiply a duration by an integer
|
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 year-month-durations
|
badDuration, badDuration, equals, getComponent, getDays, getHours, getLengthInSeconds, getMicroseconds, getMinutes, getMonths, getNanoseconds, getSchemaComparable, getSchemaComparable, getSeconds, getTotalMonths, getTotalSeconds, getYears, hashCode, makeDuration, makeDuration, normalizeZeroDuration, signum, simpleInteger
asAtomic, asMapKey, atomize, checkPermittedContents, checkValidInJavascript, effectiveBooleanValue, getCanonicalLexicalRepresentation, getCardinality, getGenre, getItemType, getLength, getStringValue, getStringValueCS, getUType, head, identityHashCode, isIdentical, isIdentical, isNaN, itemAt, iterate, iterator, process, setTypeLabel, toString
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
asAtomic
isStreamed, reduce, subsequence, toGroundedValue, toShortString
asIterable, materialize
makeRepeatable
public static ConversionResult makeYearMonthDurationValue(java.lang.CharSequence s)
s
- a string in the lexical space of xs:yearMonthDuration.public 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 getPrimitiveStringValue()
getPrimitiveStringValue
in class DurationValue
public int getLengthInMonths()
public static YearMonthDurationValue fromMonths(int months)
months
- the number of months (may be negative)public YearMonthDurationValue multiply(long factor) throws XPathException
multiply
in class DurationValue
factor
- the number to multiply byXPathException
public YearMonthDurationValue multiply(double n) throws XPathException
multiply
in class DurationValue
n
- the number to multiply byXPathException
public DurationValue divide(double n) throws XPathException
divide
in class DurationValue
n
- the number to divide byXPathException
public BigDecimalValue divide(DurationValue other) throws XPathException
divide
in class DurationValue
other
- the dividendXPathException
- if an error occurs, for example division by zero or dividing durations of different typepublic 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()
negate
in class DurationValue
public int compareTo(YearMonthDurationValue other)
compareTo
in interface java.lang.Comparable<YearMonthDurationValue>
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 AtomicMatchKey getXPathComparable(boolean ordered, StringCollator collator, int implicitTimezone)
getXPathComparable
in class DurationValue
ordered
- true if ordered comparisons need to be supportedcollator
- for comparing strings - not usedimplicitTimezone
- implicit timezone in the dynamic context - not usedCopyright (c) 2004-2020 Saxonica Limited. All rights reserved.