public final class YearMonthDurationValue extends DurationValue implements XPathComparable, ContextFreeAtomicValue
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.
DurationValue.DurationComparable_months, _nanoseconds, _negative, _secondstypeLabel| Modifier and Type | Method and Description |
|---|---|
DurationValue |
add(DurationValue other)
Add two year-month-durations
|
int |
compareTo(XPathComparable 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
|
UnicodeString |
getPrimitiveStringValue()
Convert to string
|
BuiltInAtomicType |
getPrimitiveType()
Determine the primitive type of the value.
|
XPathComparable |
getXPathComparable()
Get an XPathComparable object that supports the semantics of context-free
eq and lt comparisons between atomic values.
|
XPathComparable |
getXPathComparable(StringCollator collator,
int implicitTimezone)
Get an object value that implements the XPath equality and ordering comparison semantics for this value.
|
AtomicMatchKey |
getXPathMatchKey(StringCollator collator,
int implicitTimezone)
Get a Comparable value that implements the XPath ordering comparison semantics for this value.
|
static ConversionResult |
makeYearMonthDurationValue(UnicodeString s)
Static factory: create a year-month duration value from a supplied string, in
ISO 8601 format [+|-]PnYnM
|
YearMonthDurationValue |
multiply(java.math.BigDecimal n)
Multiply duration by a decimal.
|
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, formatFractionalSeconds, getComponent, getDays, getHours, getLengthInSeconds, getMicroseconds, getMinutes, getMonths, getNanoseconds, getSchemaComparable, getSeconds, getTotalMonths, getTotalSeconds, getYears, hashCode, makeDuration, makeDuration, normalizeZeroDuration, signum, simpleIntegerasAtomic, asMapKey, atomize, checkPermittedContents, checkValidInJavascript, effectiveBooleanValue, getCanonicalLexicalRepresentation, getCardinality, getGenre, getItemType, getLength, getUnicodeStringValue, getUType, head, identityHashCode, isIdentical, isIdentical, isNaN, isUntypedAtomic, itemAt, iterate, iterator, setTypeLabel, show, toShortString, toStringclone, finalize, getClass, notify, notifyAll, wait, wait, waitasAtomicgetStringValue, isStreamed, reduce, subsequenceasIterable, concatenate, containsNode, materializemakeRepeatablepublic static ConversionResult makeYearMonthDurationValue(UnicodeString 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 UnicodeString 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 byXPathException - if an error is detectedpublic YearMonthDurationValue multiply(double n) throws XPathException
multiply in class DurationValuen - the number to multiply byXPathException - if an error is detectedpublic YearMonthDurationValue multiply(java.math.BigDecimal n) throws XPathException
multiply in class DurationValuen - the number to multiply byXPathException - if an error is detectedpublic DurationValue divide(double n) throws XPathException
divide in class DurationValuen - the number to divide byXPathException - if an error is detectedpublic 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 oneXPathException - if an error is detectedpublic DurationValue subtract(DurationValue other) throws XPathException
subtract in class DurationValueother - the duration to be subtracted from this oneXPathException - if an error is detectedpublic DurationValue negate()
negate in class DurationValuepublic int compareTo(XPathComparable other)
compareTo in interface java.lang.Comparable<XPathComparable>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 XPathComparable getXPathComparable(StringCollator collator, int implicitTimezone)
AtomicValuegetXPathComparable in class DurationValuecollator - the collation to be used when comparing stringsimplicitTimezone - the implicit timezone in the dynamic context, used when comparing
dates/times with and without timezonepublic XPathComparable getXPathComparable()
ContextFreeAtomicValueComparable interface, this
cannot be assumed.getXPathComparable in interface ContextFreeAtomicValuepublic AtomicMatchKey getXPathMatchKey(StringCollator collator, int implicitTimezone)
getXPathMatchKey in class DurationValuecollator - for comparing strings - not usedimplicitTimezone - implicit timezone in the dynamic context - not usedCopyright (c) 2004-2022 Saxonica Limited. All rights reserved.