javax.xml.datatype
Class Duration

java.lang.Object
  extended by javax.xml.datatype.Duration

public abstract class Duration
extends Object

An immutable time space as specified in XML Schema 1.0.

Since:
1.5

Constructor Summary
Duration()
           
 
Method Summary
abstract  Duration add(Duration rhs)
          Returns the result of adding the specified duration to this duration.
abstract  void addTo(Calendar calendar)
          Adds this duration to the specified calendar.
 void addTo(Date date)
          Adds this duration to the specified date.
abstract  int compare(Duration duration)
          Partial order relation comparison with this duration, in accordance with XML Schema 1.0 Part 2, Section 3.2.7.6.2.
 boolean equals(Object duration)
          Determine whether this Object is semantically equal to another Object.
 int getDays()
          Returns the days in this duration as an int, or 0 if not present.
abstract  Number getField(DatatypeConstants.Field field)
          Returns the value of the specified field, or null if the field is undefined.
 int getHours()
          Returns the hours in this duration as an int, or 0 if not present.
 int getMinutes()
          Returns the minutes in this duration as an int, or 0 if not present.
 int getMonths()
          Returns the months in this duration as an int, or 0 if not present.
 int getSeconds()
          Returns the seconds in this duration as an int, or 0 if not present.
abstract  int getSign()
          Returns the sign of this value.
 long getTimeInMillis(Calendar startInstant)
          Returns the duration length in milliseconds.
 long getTimeInMillis(Date startInstant)
          Returns the duration length in milliseconds.
 QName getXMLSchemaType()
          Returns the name of the XML Schema data type this value maps to.
 int getYears()
          Returns the years in this duration as an int, or 0 if not present.
abstract  int hashCode()
          Get a value that represents this Object, as uniquely as possible within the confines of an int.
 boolean isLongerThan(Duration duration)
           
abstract  boolean isSet(DatatypeConstants.Field field)
          Indicates whether the specified field is set.
 boolean isShorterThan(Duration duration)
           
abstract  Duration multiply(BigDecimal factor)
          Returns the result of multiplying this duration by the given factor.
 Duration multiply(int factor)
          Returns the result of multiplying this duration by the given factor.
abstract  Duration negate()
          Returns the unary negative of this duration.
abstract  Duration normalizeWith(Calendar startTimeInstant)
          Converts the years and months fields into the days field using a specific time instant as the reference point.
 Duration subtract(Duration rhs)
          Returns the result of subtracting the given duration from this duration.
 String toString()
          Returns the lexical representation of this duration.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Duration

public Duration()
Method Detail

getXMLSchemaType

public QName getXMLSchemaType()
Returns the name of the XML Schema data type this value maps to.


getSign

public abstract int getSign()
Returns the sign of this value.


getYears

public int getYears()
Returns the years in this duration as an int, or 0 if not present.


getMonths

public int getMonths()
Returns the months in this duration as an int, or 0 if not present.


getDays

public int getDays()
Returns the days in this duration as an int, or 0 if not present.


getHours

public int getHours()
Returns the hours in this duration as an int, or 0 if not present.


getMinutes

public int getMinutes()
Returns the minutes in this duration as an int, or 0 if not present.


getSeconds

public int getSeconds()
Returns the seconds in this duration as an int, or 0 if not present.


getTimeInMillis

public long getTimeInMillis(Calendar startInstant)
Returns the duration length in milliseconds. Because the length of a month or year may vary depending on the year, the startInstant parameter is used to specify the duration offset.


getTimeInMillis

public long getTimeInMillis(Date startInstant)
Returns the duration length in milliseconds. Because the length of a month or year may vary depending on the year, the startInstant parameter is used to specify the duration offset.


getField

public abstract Number getField(DatatypeConstants.Field field)
Returns the value of the specified field, or null if the field is undefined.


isSet

public abstract boolean isSet(DatatypeConstants.Field field)
Indicates whether the specified field is set.


add

public abstract Duration add(Duration rhs)
Returns the result of adding the specified duration to this duration.


addTo

public abstract void addTo(Calendar calendar)
Adds this duration to the specified calendar.


addTo

public void addTo(Date date)
Adds this duration to the specified date.


subtract

public Duration subtract(Duration rhs)
Returns the result of subtracting the given duration from this duration.


multiply

public Duration multiply(int factor)
Returns the result of multiplying this duration by the given factor.


multiply

public abstract Duration multiply(BigDecimal factor)
Returns the result of multiplying this duration by the given factor.


negate

public abstract Duration negate()
Returns the unary negative of this duration.


normalizeWith

public abstract Duration normalizeWith(Calendar startTimeInstant)
Converts the years and months fields into the days field using a specific time instant as the reference point.


compare

public abstract int compare(Duration duration)
Partial order relation comparison with this duration, in accordance with XML Schema 1.0 Part 2, Section 3.2.7.6.2.


isLongerThan

public boolean isLongerThan(Duration duration)

isShorterThan

public boolean isShorterThan(Duration duration)

equals

public boolean equals(Object duration)
Description copied from class: Object
Determine whether this Object is semantically equal to another Object.

There are some fairly strict requirements on this method which subclasses must follow:

This is typically overridden to throw a ClassCastException if the argument is not comparable to the class performing the comparison, but that is not a requirement. It is legal for a.equals(b) to be true even though a.getClass() != b.getClass(). Also, it is typical to never cause a NullPointerException.

In general, the Collections API (java.util) use the equals method rather than the == operator to compare objects. However, IdentityHashMap is an exception to this rule, for its own good reasons.

The default implementation returns this == o.

Overrides:
equals in class Object
Parameters:
duration - the Object to compare to
Returns:
whether this Object is semantically equal to another
See Also:
Object.hashCode()

hashCode

public abstract int hashCode()
Description copied from class: Object
Get a value that represents this Object, as uniquely as possible within the confines of an int.

There are some requirements on this method which subclasses must follow:

Notice that since hashCode is used in Hashtable and other hashing classes, a poor implementation will degrade the performance of hashing (so don't blindly implement it as returning a constant!). Also, if calculating the hash is time-consuming, a class may consider caching the results.

The default implementation returns System.identityHashCode(this)

Overrides:
hashCode in class Object
Returns:
the hash code for this Object
See Also:
Object.equals(Object), System.identityHashCode(Object)

toString

public String toString()
Returns the lexical representation of this duration.

Overrides:
toString in class Object
Returns:
the String representing this Object, which may be null
See Also:
Object.getClass(), Object.hashCode(), Class.getName(), Integer.toHexString(int)