public final class TimeValue extends CalendarValue implements Comparable
NO_TIMEZONE
NaN_MATCH_KEY, typeLabel
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(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,
XPathContext context)
Compare the value to another dateTime value
|
int |
compareTo(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(Object other)
The equals() methods on atomic values is defined to follow the semantics of eq when applied
to two atomic values.
|
GregorianCalendar |
getCalendar()
Get a Java Calendar object corresponding to this time, on a reference date
|
CharSequence |
getCanonicalLexicalRepresentation()
Get the canonical lexical representation as defined in XML Schema.
|
ComparisonKey |
getComparisonKey(XPathContext context)
Get a comparison key for this value.
|
AtomicValue |
getComponent(int component)
Get a component of the value.
|
byte |
getHour()
Get the hour component, 0-23
|
int |
getMicrosecond()
Get the microsecond component, 0-999999
|
byte |
getMinute()
Get the minute component, 0-59
|
CharSequence |
getPrimitiveStringValue()
Convert to string
|
BuiltInAtomicType |
getPrimitiveType()
Determine the primitive type of the value.
|
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 ConversionResult |
makeTimeValue(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, getTimezoneInMinutes, getXMLGregorianCalendar, getXPathComparable, hasTimezone, identityHashCode, isIdentical, makeCalendarValue, removeTimezone, setTimezoneInMinutes
asAtomic, checkPermittedContents, effectiveBooleanValue, getCardinality, getItemType, getStringValue, getStringValueCS, head, isIdentical, isNaN, itemAt, iterate, iterator, process, setTypeLabel, toString
getLength, reduce, subsequence
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
asAtomic
getLength
reduce, subsequence
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(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 ConversionResult makeTimeValue(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 CharSequence getPrimitiveStringValue()
getPrimitiveStringValue
in class AtomicValue
public CharSequence getCanonicalLexicalRepresentation()
getCanonicalLexicalRepresentation
in interface AtomicSequence
getCanonicalLexicalRepresentation
in class AtomicValue
public DateTimeValue toDateTime()
toDateTime
in class CalendarValue
public 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(int component) throws XPathException
getComponent
in class AtomicValue
component
- identifies the required component, as a constant defined in class
AccessorFn
, for example AccessorFn.HOURS
XPathException
- if a dynamic error occurspublic int compareTo(Object other)
compareTo
in interface Comparable
other
- The other dateTime valueClassCastException
- if the other value is not a TimeValue (the parameter
is declared as Object to satisfy the Comparable interface)public int compareTo(CalendarValue other, XPathContext context) throws NoDynamicContextException
compareTo
in class CalendarValue
other
- The other dateTime valuecontext
- the XPath dynamic evaluation contextClassCastException
- 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 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 ComparisonKey getComparisonKey(XPathContext context) throws NoDynamicContextException
getComparisonKey
in class CalendarValue
context
- XPath dynamic contextNoDynamicContextException
- if the implicit timezone is required and is not availablepublic boolean equals(Object other)
AtomicValue
The hashCode() method is consistent with equals().
equals
in class AtomicValue
other
- the other valuepublic 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-2014 Saxonica Limited. All rights reserved.