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, secondstypeLabelNaN_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, simpleIntegerasAtomic, asMapKey, atomize, checkPermittedContents, checkValidInJavascript, effectiveBooleanValue, getCanonicalLexicalRepresentation, getCardinality, getGenre, getItemType, getLength, getStringValue, getStringValueCS, getUType, head, identityHashCode, isIdentical, isIdentical, isNaN, itemAt, iterate, iterator, process, setTypeLabel, toStringclone, finalize, getClass, notify, notifyAll, wait, wait, waitasAtomicisStreamed, reduce, subsequence, toGroundedValue, toShortStringasIterable, materializemakeRepeatablepublic 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 DurationValuetypeLabel - 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 DurationValuepublic java.lang.CharSequence getPrimitiveStringValue()
getPrimitiveStringValue in class DurationValuepublic 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 DurationValuefactor - the number to multiply byXPathExceptionpublic YearMonthDurationValue multiply(double n) throws XPathException
multiply in class DurationValuen - the number to multiply byXPathExceptionpublic DurationValue divide(double n) throws XPathException
divide in class DurationValuen - the number to divide byXPathExceptionpublic BigDecimalValue divide(DurationValue other) throws XPathException
divide in class DurationValueother - 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 DurationValueother - the duration to be added to this oneXPathExceptionpublic DurationValue subtract(DurationValue other) throws XPathException
subtract in class DurationValueother - the duration to be subtracted from this oneXPathExceptionpublic DurationValue negate()
negate in class DurationValuepublic 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 DurationValueordered - 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.