javax.xml.datatype
Class XMLGregorianCalendar

java.lang.Object
  extended by javax.xml.datatype.XMLGregorianCalendar
All Implemented Interfaces:
Cloneable

public abstract class XMLGregorianCalendar
extends Object
implements Cloneable

An XML Schema 1.0 date/time data type.

Since:
1.3

Constructor Summary
XMLGregorianCalendar()
           
 
Method Summary
abstract  void add(Duration duration)
          Adds the specified duration to this calendar.
abstract  void clear()
          Resets all fields to undefined.
abstract  Object clone()
          This method may be called to create a new copy of the Object.
abstract  int compare(XMLGregorianCalendar xmlGregorianCalendar)
           
 boolean equals(Object obj)
          Determine whether this Object is semantically equal to another Object.
abstract  int getDay()
           
abstract  BigInteger getEon()
           
abstract  BigInteger getEonAndYear()
           
abstract  BigDecimal getFractionalSecond()
           
abstract  int getHour()
           
 int getMillisecond()
           
abstract  int getMinute()
           
abstract  int getMonth()
           
abstract  int getSecond()
           
abstract  int getTimezone()
           
abstract  TimeZone getTimeZone(int defaultZoneoffset)
           
abstract  QName getXMLSchemaType()
           
abstract  int getYear()
           
 int hashCode()
          Get a value that represents this Object, as uniquely as possible within the confines of an int.
abstract  boolean isValid()
          Determines the validity of this calendar by getXMLSchemaType constraints.
abstract  XMLGregorianCalendar normalize()
           
abstract  void reset()
          Resets all fields to their original values.
abstract  void setDay(int day)
           
abstract  void setFractionalSecond(BigDecimal fractional)
           
abstract  void setHour(int hour)
           
abstract  void setMillisecond(int millisecond)
           
abstract  void setMinute(int minute)
           
abstract  void setMonth(int month)
           
abstract  void setSecond(int second)
           
 void setTime(int hour, int minute, int second)
           
 void setTime(int hour, int minute, int second, BigDecimal fractional)
           
 void setTime(int hour, int minute, int second, int millisecond)
           
abstract  void setTimezone(int offset)
           
abstract  void setYear(BigInteger year)
           
abstract  void setYear(int year)
           
abstract  GregorianCalendar toGregorianCalendar()
           
abstract  GregorianCalendar toGregorianCalendar(TimeZone timezone, Locale locale, XMLGregorianCalendar defaults)
           
 String toString()
          Convert this Object to a human-readable String.
abstract  String toXMLFormat()
          Returns the XML Schema lexical representation of this calendar.
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

XMLGregorianCalendar

public XMLGregorianCalendar()
Method Detail

clear

public abstract void clear()
Resets all fields to undefined.


reset

public abstract void reset()
Resets all fields to their original values.


setYear

public abstract void setYear(BigInteger year)

setYear

public abstract void setYear(int year)

setMonth

public abstract void setMonth(int month)

setDay

public abstract void setDay(int day)

setTimezone

public abstract void setTimezone(int offset)

setTime

public void setTime(int hour,
                    int minute,
                    int second)

setHour

public abstract void setHour(int hour)

setMinute

public abstract void setMinute(int minute)

setSecond

public abstract void setSecond(int second)

setMillisecond

public abstract void setMillisecond(int millisecond)

setFractionalSecond

public abstract void setFractionalSecond(BigDecimal fractional)

setTime

public void setTime(int hour,
                    int minute,
                    int second,
                    BigDecimal fractional)

setTime

public void setTime(int hour,
                    int minute,
                    int second,
                    int millisecond)

getEon

public abstract BigInteger getEon()

getYear

public abstract int getYear()

getEonAndYear

public abstract BigInteger getEonAndYear()

getMonth

public abstract int getMonth()

getDay

public abstract int getDay()

getTimezone

public abstract int getTimezone()

getHour

public abstract int getHour()

getMinute

public abstract int getMinute()

getSecond

public abstract int getSecond()

getMillisecond

public int getMillisecond()

getFractionalSecond

public abstract BigDecimal getFractionalSecond()

compare

public abstract int compare(XMLGregorianCalendar xmlGregorianCalendar)

normalize

public abstract XMLGregorianCalendar normalize()

equals

public boolean equals(Object obj)
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:
obj - the Object to compare to
Returns:
whether this Object is semantically equal to another
See Also:
Object.hashCode()

hashCode

public 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)

toXMLFormat

public abstract String toXMLFormat()
Returns the XML Schema lexical representation of this calendar.


getXMLSchemaType

public abstract QName getXMLSchemaType()

toString

public String toString()
Description copied from class: Object
Convert this Object to a human-readable String. There are no limits placed on how long this String should be or what it should contain. We suggest you make it as intuitive as possible to be able to place it into System.out.println() and such.

It is typical, but not required, to ensure that this method never completes abruptly with a RuntimeException.

This method will be called when performing string concatenation with this object. If the result is null, string concatenation will instead use "null".

The default implementation returns getClass().getName() + "@" + Integer.toHexString(hashCode()).

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)

isValid

public abstract boolean isValid()
Determines the validity of this calendar by getXMLSchemaType constraints.


add

public abstract void add(Duration duration)
Adds the specified duration to this calendar.


toGregorianCalendar

public abstract GregorianCalendar toGregorianCalendar()

toGregorianCalendar

public abstract GregorianCalendar toGregorianCalendar(TimeZone timezone,
                                                      Locale locale,
                                                      XMLGregorianCalendar defaults)

getTimeZone

public abstract TimeZone getTimeZone(int defaultZoneoffset)

clone

public abstract Object clone()
Description copied from class: Object
This method may be called to create a new copy of the Object. The typical behavior is as follows:

However, these are not strict requirements, and may be violated if necessary. Of the three requirements, the last is the most commonly violated, particularly if the subclass does not override Object.equals(Object).

If the Object you call clone() on does not implement Cloneable (which is a placeholder interface), then a CloneNotSupportedException is thrown. Notice that Object does not implement Cloneable; this method exists as a convenience for subclasses that do.

Object's implementation of clone allocates space for the new Object using the correct class, without calling any constructors, and then fills in all of the new field values with the old field values. Thus, it is a shallow copy. However, subclasses are permitted to make a deep copy.

All array types implement Cloneable, and override this method as follows (it should never fail):

 public Object clone()
 {
   try
     {
       super.clone();
     }
   catch (CloneNotSupportedException e)
     {
       throw new InternalError(e.getMessage());
     }
 }
 

Overrides:
clone in class Object
Returns:
a copy of the Object
See Also:
Cloneable