public final class TimeValue extends CalendarValue implements java.lang.Comparable
MISSING_TIMEZONE, NO_TIMEZONE
typeLabel
NaN_MATCH_KEY
Constructor and Description |
---|
TimeValue(byte hour,
byte minute,
byte second,
int microsecond,
int tz)
Construct a time value given the hour, minute, second, and microsecond components.
|
TimeValue(byte hour,
byte minute,
byte second,
int nanosecond,
int tz,
java.lang.String flag)
Constructor to construct a time value given the hour, minute, second, and nanosecond components.
|
TimeValue(java.util.GregorianCalendar calendar,
int tz)
Constructor: create a time value given a Java calendar object
|
Modifier and Type | Method and Description |
---|---|
TimeValue |
add(DurationValue duration)
Add a duration to a dateTime
|
TimeValue |
adjustTimezone(int timezone)
Return a new time with the same normalized value, but
in a different timezone.
|
int |
compareTo(CalendarValue other,
int implicitTimezone)
Compare the value to another dateTime value
|
int |
compareTo(java.lang.Object other)
Compare the value to another dateTime value
|
AtomicValue |
copyAsSubType(AtomicType typeLabel)
Make a copy of this time value,
but with a different type label
|
boolean |
equals(java.lang.Object other)
The equals() methods on atomic values is defined to follow the semantics of eq when applied
to two atomic values.
|
java.util.GregorianCalendar |
getCalendar()
Get a Java Calendar object corresponding to this time, on a reference date
|
java.lang.CharSequence |
getCanonicalLexicalRepresentation()
Get the canonical lexical representation as defined in XML Schema.
|
AtomicValue |
getComponent(AccessorFn.Component component)
Get a component of the value.
|
byte |
getHour()
Get the hour component, 0-23
|
int |
getMicrosecond()
Get the microsecond component, 0-999_999
|
byte |
getMinute()
Get the minute component, 0-59
|
int |
getNanosecond()
Get the nanosecond component, 0-999_999
|
java.lang.CharSequence |
getPrimitiveStringValue()
Convert to string
|
BuiltInAtomicType |
getPrimitiveType()
Determine the primitive type of the value.
|
java.lang.Comparable |
getSchemaComparable()
Get a Comparable value that implements the XML Schema ordering comparison semantics for this value.
|
byte |
getSecond()
Get the second component, 0-59
|
int |
hashCode() |
static TimeValue |
makeTimeValue(byte hour,
byte minute,
byte second,
int nanosecond,
int tz)
Factory method to construct a time value given the hour, minute, second, and nanosecond components.
|
static ConversionResult |
makeTimeValue(java.lang.CharSequence s)
Static factory method: create a time value from a supplied string, in
ISO 8601 format
|
DayTimeDurationValue |
subtract(CalendarValue other,
XPathContext context)
Determine the difference between two points in time, as a duration
|
DateTimeValue |
toDateTime()
Convert to a DateTime value.
|
adjustTimezone, appendTimezone, appendTimezone, asMapKey, getComparisonKey, getTimezoneInMinutes, getXMLGregorianCalendar, getXPathComparable, hasTimezone, identityHashCode, isIdentical, makeCalendarValue, removeTimezone, setTimezoneInMinutes
asAtomic, atomize, checkPermittedContents, checkValidInJavascript, effectiveBooleanValue, getCardinality, getGenre, getItemType, getLength, getStringValue, getStringValueCS, getUType, head, 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 TimeValue(byte hour, byte minute, byte second, int microsecond, int tz)
hour
- the hour value, 0-23minute
- the minutes value, 0-59second
- the seconds value, 0-59microsecond
- the number of microseconds, 0-999999tz
- the timezone displacement in minutes from UTC. Supply the value
CalendarValue.NO_TIMEZONE
if there is no timezone component.public TimeValue(byte hour, byte minute, byte second, int nanosecond, int tz, java.lang.String flag)
hour
- the hour value, 0-23minute
- the minutes value, 0-59second
- the seconds value, 0-59nanosecond
- the number of nanoseconds, 0-999999999tz
- the timezone displacement in minutes from UTC. Supply the value
CalendarValue.NO_TIMEZONE
if there is no timezone component.flag
- used to disambiguate this constructor. Must be set to "".public TimeValue(java.util.GregorianCalendar calendar, int tz)
calendar
- holds the date and timetz
- the timezone offset in minutes, or NO_TIMEZONE indicating that there is no timezonepublic static TimeValue makeTimeValue(byte hour, byte minute, byte second, int nanosecond, int tz)
hour
- the hour value, 0-23minute
- the minutes value, 0-59second
- the seconds value, 0-59nanosecond
- the number of nanoseconds, 0-999_999_999tz
- the timezone displacement in minutes from UTC. Supply the value
CalendarValue.NO_TIMEZONE
if there is no timezone component.public static ConversionResult makeTimeValue(java.lang.CharSequence s)
s
- the time in the lexical format hh:mm:ss[.ffffff] followed optionally by
timezone in the form [+-]hh:mm or Zpublic BuiltInAtomicType getPrimitiveType()
getPrimitiveType
in class AtomicValue
public byte getHour()
public byte getMinute()
public byte getSecond()
public int getMicrosecond()
public int getNanosecond()
public java.lang.CharSequence getPrimitiveStringValue()
getPrimitiveStringValue
in class AtomicValue
public java.lang.CharSequence getCanonicalLexicalRepresentation()
getCanonicalLexicalRepresentation
in interface AtomicSequence
getCanonicalLexicalRepresentation
in class AtomicValue
public DateTimeValue toDateTime()
toDateTime
in class CalendarValue
public java.util.GregorianCalendar getCalendar()
getCalendar
in class CalendarValue
public AtomicValue copyAsSubType(AtomicType typeLabel)
copyAsSubType
in class AtomicValue
typeLabel
- the new type label. This must be a subtype of xs:time.public TimeValue adjustTimezone(int timezone)
adjustTimezone
in class CalendarValue
timezone
- the new timezone offset, in minutespublic AtomicValue getComponent(AccessorFn.Component component) throws XPathException
getComponent
in class AtomicValue
component
- the required componentXPathException
- if a dynamic error occurspublic 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 TimeValue (the parameter
is declared as Object to satisfy the Comparable interface)public int compareTo(CalendarValue other, int implicitTimezone) throws NoDynamicContextException
compareTo
in class CalendarValue
other
- The other dateTime valueimplicitTimezone
- The implicit timezone assumed for a value with no timezonejava.lang.ClassCastException
- if the other value is not a DateTimeValue (the parameter
is declared as Object to satisfy the Comparable interface)NoDynamicContextException
- if the implicit timezone is required and is not available
(because the function is called at compile time)public java.lang.Comparable getSchemaComparable()
AtomicValue
In the case of data types that are partially ordered, the returned Comparable extends the standard
semantics of the compareTo() method by returning the value SequenceTool.INDETERMINATE_ORDERING
when there
is no defined order relationship between two given values. This value is also returned when two values
of different types are compared.
getSchemaComparable
in interface AtomicSequence
getSchemaComparable
in class AtomicValue
public boolean equals(java.lang.Object other)
AtomicValue
The hashCode() method is consistent with equals().
equals
in class AtomicValue
other
- the other valuepublic int hashCode()
hashCode
in class java.lang.Object
public TimeValue add(DurationValue duration) throws XPathException
add
in class CalendarValue
duration
- the duration to be added (may be negative)XPathException
- if the duration is an xs:duration, as distinct from
a subclass thereofpublic DayTimeDurationValue subtract(CalendarValue other, XPathContext context) throws XPathException
subtract
in class CalendarValue
other
- the other point in timecontext
- XPath dynamic evaluation contextXPathException
- for example if one value is a date and the other is a timeCopyright (c) 2004-2020 Saxonica Limited. All rights reserved.