javax.xml.datatype

Class DatatypeFactory

public abstract class DatatypeFactory extends Object

Factory that creates new javax.xml.datatype Objects that map XML to/from Java Objects.

{@link #newInstance()} is used to create a new DatatypeFactory. The following implementation resolution mechanisms are used in the following order:

  1. If the system property specified by {@link #DATATYPEFACTORY_PROPERTY}, "javax.xml.datatype.DatatypeFactory", exists, a class with the name of the property's value is instantiated. Any Exception thrown during the instantiation process is wrapped as a {@link DatatypeConfigurationException}.
  2. If the file ${JAVA_HOME}/lib/jaxp.properties exists, it is loaded in a {@link java.util.Properties} Object. The Properties Object is then queried for the property as documented in the prior step and processed as documented in the prior step.
  3. The services resolution mechanism is used, e.g. META-INF/services/java.xml.datatype.DatatypeFactory. Any Exception thrown during the instantiation process is wrapped as a {@link DatatypeConfigurationException}.
  4. The final mechanism is to attempt to instantiate the Class specified by {@link #DATATYPEFACTORY_IMPLEMENTATION_CLASS}, "javax.xml.datatype.DatatypeFactoryImpl". Any Exception thrown during the instantiation process is wrapped as a {@link DatatypeConfigurationException}.

Since: 1.5

Version: $Revision: 226183 $, $Date: 2005-04-08 06:39:14 -0400 (Fri, 08 Apr 2005) $

Author: Joseph Fialli Jeff Suttor

Field Summary
static StringDATATYPEFACTORY_IMPLEMENTATION_CLASS

Default implementation class name as defined in JSR 206: Java(TM) API for XML Processing (JAXP) 1.3.

Default value is org.apache.xerces.jaxp.datatype.DatatypeFactoryImpl.

static StringDATATYPEFACTORY_PROPERTY

Default property name as defined in JSR 206: Java(TM) API for XML Processing (JAXP) 1.3.

Default value is javax.xml.datatype.DatatypeFactory.

Constructor Summary
protected DatatypeFactory()

Protected constructor to prevent instaniation outside of package.

Use {@link #newInstance()} to create a DatatypeFactory.

Method Summary
abstract DurationnewDuration(String lexicalRepresentation)

Obtain a new instance of a Duration specifying the Duration as its string representation, "PnYnMnDTnHnMnS", as defined in XML Schema 1.0 section 3.2.6.1.

XML Schema Part 2: Datatypes, 3.2.6 duration, defines duration as:

duration represents a duration of time.
abstract DurationnewDuration(long durationInMilliSeconds)

Obtain a new instance of a Duration specifying the Duration as milliseconds.

XML Schema Part 2: Datatypes, 3.2.6 duration, defines duration as:

duration represents a duration of time.
abstract DurationnewDuration(boolean isPositive, BigInteger years, BigInteger months, BigInteger days, BigInteger hours, BigInteger minutes, BigDecimal seconds)

Obtain a new instance of a Duration specifying the Duration as isPositive, years, months, days, hours, minutes, seconds.

The XML Schema specification states that values can be of an arbitrary size.

DurationnewDuration(boolean isPositive, int years, int months, int days, int hours, int minutes, int seconds)

Obtain a new instance of a Duration specifying the Duration as isPositive, years, months, days, hours, minutes, seconds.

A {@link DatatypeConstants#FIELD_UNDEFINED} value indicates that field isnot set.

DurationnewDurationDayTime(String lexicalRepresentation)

Create a Duration of type xdt:dayTimeDuration by parsing its String representation, "PnDTnHnMnS", XQuery 1.0 and XPath 2.0 Data Model, xdt:dayTimeDuration.

The datatype xdt:dayTimeDuration is a subtype of xs:duration whose lexical representation contains only day, hour, minute, and second components.

DurationnewDurationDayTime(long durationInMilliseconds)

Create a Duration of type xdt:dayTimeDuration using the specified milliseconds as defined in XQuery 1.0 and XPath 2.0 Data Model, xdt:dayTimeDuration.

The datatype xdt:dayTimeDuration is a subtype of xs:duration whose lexical representation contains only day, hour, minute, and second components.

DurationnewDurationDayTime(boolean isPositive, BigInteger day, BigInteger hour, BigInteger minute, BigInteger second)

Create a Duration of type xdt:dayTimeDuration using the specified day, hour, minute and second as defined in XQuery 1.0 and XPath 2.0 Data Model, xdt:dayTimeDuration.

The datatype xdt:dayTimeDuration is a subtype of xs:duration whose lexical representation contains only day, hour, minute, and second components.

DurationnewDurationDayTime(boolean isPositive, int day, int hour, int minute, int second)

Create a Duration of type xdt:dayTimeDuration using the specified day, hour, minute and second as defined in XQuery 1.0 and XPath 2.0 Data Model, xdt:dayTimeDuration.

The datatype xdt:dayTimeDuration is a subtype of xs:duration whose lexical representation contains only day, hour, minute, and second components.

DurationnewDurationYearMonth(String lexicalRepresentation)

Create a Duration of type xdt:yearMonthDuration by parsing its String representation, "PnYnM", XQuery 1.0 and XPath 2.0 Data Model, xdt:yearMonthDuration.

The datatype xdt:yearMonthDuration is a subtype of xs:duration whose lexical representation contains only year and month components.

DurationnewDurationYearMonth(long durationInMilliseconds)

Create a Duration of type xdt:yearMonthDuration using the specified milliseconds as defined in XQuery 1.0 and XPath 2.0 Data Model, xdt:yearMonthDuration.

The datatype xdt:yearMonthDuration is a subtype of xs:duration whose lexical representation contains only year and month components.

DurationnewDurationYearMonth(boolean isPositive, BigInteger year, BigInteger month)

Create a Duration of type xdt:yearMonthDuration using the specified year and month as defined in XQuery 1.0 and XPath 2.0 Data Model, xdt:yearMonthDuration.

The XML Schema specification states that values can be of an arbitrary size.

DurationnewDurationYearMonth(boolean isPositive, int year, int month)

Create a Duration of type xdt:yearMonthDuration using the specified year and month as defined in XQuery 1.0 and XPath 2.0 Data Model, xdt:yearMonthDuration.

A {@link DatatypeConstants#FIELD_UNDEFINED} value indicates that field isnot set.

static DatatypeFactorynewInstance()

Obtain a new instance of a DatatypeFactory.

The implementation resolution mechanisms are defined in this Class's documentation.

abstract XMLGregorianCalendarnewXMLGregorianCalendar()

Create a new instance of an XMLGregorianCalendar.

All date/time datatype fields set to {@link DatatypeConstants#FIELD_UNDEFINED} or null.

abstract XMLGregorianCalendarnewXMLGregorianCalendar(String lexicalRepresentation)

Create a new XMLGregorianCalendar by parsing the String as a lexical representation.

Parsing the lexical string representation is defined in XML Schema 1.0 Part 2, Section 3.2.[7-14].1, Lexical Representation.

The string representation may not have any leading and trailing whitespaces.

The parsing is done field by field so that the following holds for any lexically correct String x:

 newXMLGregorianCalendar(x).toXMLFormat().equals(x)
 

Except for the noted lexical/canonical representation mismatches listed in XML Schema 1.0 errata, Section 3.2.7.2.

abstract XMLGregorianCalendarnewXMLGregorianCalendar(GregorianCalendar cal)

Create an XMLGregorianCalendar from a {@link GregorianCalendar}.

Field by Field Conversion from {@link GregorianCalendar} to an {@link XMLGregorianCalendar}
java.util.GregorianCalendar field javax.xml.datatype.XMLGregorianCalendar field
ERA == GregorianCalendar.BC ?
abstract XMLGregorianCalendarnewXMLGregorianCalendar(BigInteger year, int month, int day, int hour, int minute, int second, BigDecimal fractionalSecond, int timezone)

Constructor allowing for complete value spaces allowed by W3C XML Schema 1.0 recommendation for xsd:dateTime and related builtin datatypes.

XMLGregorianCalendarnewXMLGregorianCalendar(int year, int month, int day, int hour, int minute, int second, int millisecond, int timezone)

Constructor of value spaces that a java.util.GregorianCalendar instance would need to convert to an XMLGregorianCalendar instance.

XMLGregorianCalendar eon and fractionalSecond are set to null

A {@link DatatypeConstants#FIELD_UNDEFINED} value indicates that field isnot set.

XMLGregorianCalendarnewXMLGregorianCalendarDate(int year, int month, int day, int timezone)

Create a Java representation of XML Schema builtin datatype date or g*.

For example, an instance of gYear can be created invoking this factory with month and day parameters set to {@link DatatypeConstants#FIELD_UNDEFINED}.

A {@link DatatypeConstants#FIELD_UNDEFINED} value indicates that field isnot set.

XMLGregorianCalendarnewXMLGregorianCalendarTime(int hours, int minutes, int seconds, int timezone)

Create a Java instance of XML Schema builtin datatype time.

A {@link DatatypeConstants#FIELD_UNDEFINED} value indicates that field isnot set.

XMLGregorianCalendarnewXMLGregorianCalendarTime(int hours, int minutes, int seconds, BigDecimal fractionalSecond, int timezone)

Create a Java instance of XML Schema builtin datatype time.

A null value indicates that field isnot set.

A {@link DatatypeConstants#FIELD_UNDEFINED} value indicates that field isnot set.

XMLGregorianCalendarnewXMLGregorianCalendarTime(int hours, int minutes, int seconds, int milliseconds, int timezone)

Create a Java instance of XML Schema builtin datatype time.

A {@link DatatypeConstants#FIELD_UNDEFINED} value indicates that field isnot set.

Field Detail

DATATYPEFACTORY_IMPLEMENTATION_CLASS

public static final String DATATYPEFACTORY_IMPLEMENTATION_CLASS

Default implementation class name as defined in JSR 206: Java(TM) API for XML Processing (JAXP) 1.3.

Default value is org.apache.xerces.jaxp.datatype.DatatypeFactoryImpl.

DATATYPEFACTORY_PROPERTY

public static final String DATATYPEFACTORY_PROPERTY

Default property name as defined in JSR 206: Java(TM) API for XML Processing (JAXP) 1.3.

Default value is javax.xml.datatype.DatatypeFactory.

Constructor Detail

DatatypeFactory

protected DatatypeFactory()

Protected constructor to prevent instaniation outside of package.

Use {@link #newInstance()} to create a DatatypeFactory.

Method Detail

newDuration

public abstract Duration newDuration(String lexicalRepresentation)

Obtain a new instance of a Duration specifying the Duration as its string representation, "PnYnMnDTnHnMnS", as defined in XML Schema 1.0 section 3.2.6.1.

XML Schema Part 2: Datatypes, 3.2.6 duration, defines duration as:

duration represents a duration of time. The value space of duration is a six-dimensional space where the coordinates designate the Gregorian year, month, day, hour, minute, and second components defined in Section 5.5.3.2 of [ISO 8601], respectively. These components are ordered in their significance by their order of appearance i.e. as year, month, day, hour, minute, and second.

All six values are set and availabe from the created {@link Duration}

The XML Schema specification states that values can be of an arbitrary size. Implementations may chose not to or be incapable of supporting arbitrarily large and/or small values. An {@link UnsupportedOperationException} will be thrown with a message indicating implementation limits if implementation capacities are exceeded.

Parameters: lexicalRepresentation String representation of a Duration.

Returns: New Duration created from parsing the lexicalRepresentation.

Throws: IllegalArgumentException If lexicalRepresentation is not a valid representation of a Duration. UnsupportedOperationException If implementation cannot support requested values. NullPointerException if lexicalRepresentation is null.

newDuration

public abstract Duration newDuration(long durationInMilliSeconds)

Obtain a new instance of a Duration specifying the Duration as milliseconds.

XML Schema Part 2: Datatypes, 3.2.6 duration, defines duration as:

duration represents a duration of time. The value space of duration is a six-dimensional space where the coordinates designate the Gregorian year, month, day, hour, minute, and second components defined in Section 5.5.3.2 of [ISO 8601], respectively. These components are ordered in their significance by their order of appearance i.e. as year, month, day, hour, minute, and second.

All six values are set by computing their values from the specified milliseconds and are availabe using the get methods of the created {@link Duration}. The values conform to and are defined by:

The default start instance is defined by {@link GregorianCalendar}'s use of the start of the epoch: i.e., {@link java.util.Calendar#YEAR} = 1970, {@link java.util.Calendar#MONTH} = {@link java.util.Calendar#JANUARY}, {@link java.util.Calendar#DATE} = 1, etc. This is important as there are variations in the Gregorian Calendar, e.g. leap years have different days in the month = {@link java.util.Calendar#FEBRUARY} so the result of {@link Duration#getMonths()} and {@link Duration#getDays()} can be influenced.

Parameters: durationInMilliSeconds Duration in milliseconds to create.

Returns: New Duration representing durationInMilliSeconds.

newDuration

public abstract Duration newDuration(boolean isPositive, BigInteger years, BigInteger months, BigInteger days, BigInteger hours, BigInteger minutes, BigDecimal seconds)

Obtain a new instance of a Duration specifying the Duration as isPositive, years, months, days, hours, minutes, seconds.

The XML Schema specification states that values can be of an arbitrary size. Implementations may chose not to or be incapable of supporting arbitrarily large and/or small values. An {@link UnsupportedOperationException} will be thrown with a message indicating implementation limits if implementation capacities are exceeded.

A null value indicates that field isnot set.

Parameters: isPositive Set to false to create a negative duration. When the length of the duration is zero, this parameter will be ignored. years of this Duration months of this Duration days of this Duration hours of this Duration minutes of this Duration seconds of this Duration

Returns: New Duration created from the specified values.

Throws: IllegalArgumentException If values are not a valid representation of a Duration. UnsupportedOperationException If implementation cannot support requested values.

newDuration

public Duration newDuration(boolean isPositive, int years, int months, int days, int hours, int minutes, int seconds)

Obtain a new instance of a Duration specifying the Duration as isPositive, years, months, days, hours, minutes, seconds.

A {@link DatatypeConstants#FIELD_UNDEFINED} value indicates that field isnot set.

Parameters: isPositive Set to false to create a negative duration. When the length of the duration is zero, this parameter will be ignored. years of this Duration months of this Duration days of this Duration hours of this Duration minutes of this Duration seconds of this Duration

Returns: New Duration created from the specified values.

Throws: IllegalArgumentException If values are not a valid representation of a Duration.

See Also: DatatypeFactory

newDurationDayTime

public Duration newDurationDayTime(String lexicalRepresentation)

Create a Duration of type xdt:dayTimeDuration by parsing its String representation, "PnDTnHnMnS", XQuery 1.0 and XPath 2.0 Data Model, xdt:dayTimeDuration.

The datatype xdt:dayTimeDuration is a subtype of xs:duration whose lexical representation contains only day, hour, minute, and second components. This datatype resides in the namespace http://www.w3.org/2003/11/xpath-datatypes.

All four values are set and availabe from the created {@link Duration}

The XML Schema specification states that values can be of an arbitrary size. Implementations may chose not to or be incapable of supporting arbitrarily large and/or small values. An {@link UnsupportedOperationException} will be thrown with a message indicating implementation limits if implementation capacities are exceeded.

Parameters: lexicalRepresentation Lexical representation of a duration.

Returns: New Duration created using the specified lexicalRepresentation.

Throws: IllegalArgumentException If the given string does not conform to the aforementioned specification. UnsupportedOperationException If implementation cannot support requested values. NullPointerException If lexicalRepresentation is null.

newDurationDayTime

public Duration newDurationDayTime(long durationInMilliseconds)

Create a Duration of type xdt:dayTimeDuration using the specified milliseconds as defined in XQuery 1.0 and XPath 2.0 Data Model, xdt:dayTimeDuration.

The datatype xdt:dayTimeDuration is a subtype of xs:duration whose lexical representation contains only day, hour, minute, and second components. This datatype resides in the namespace http://www.w3.org/2003/11/xpath-datatypes.

All four values are set by computing their values from the specified milliseconds and are availabe using the get methods of the created {@link Duration}. The values conform to and are defined by:

The default start instance is defined by {@link GregorianCalendar}'s use of the start of the epoch: i.e., {@link java.util.Calendar#YEAR} = 1970, {@link java.util.Calendar#MONTH} = {@link java.util.Calendar#JANUARY}, {@link java.util.Calendar#DATE} = 1, etc. This is important as there are variations in the Gregorian Calendar, e.g. leap years have different days in the month = {@link java.util.Calendar#FEBRUARY} so the result of {@link Duration#getDays()} can be influenced.

Any remaining milliseconds after determining the day, hour, minute and second are discarded.

Parameters: durationInMilliseconds Milliseconds of Duration to create.

Returns: New Duration created with the specified durationInMilliseconds.

See Also: XQuery 1.0 and XPath 2.0 Data Model, xdt:dayTimeDuration

newDurationDayTime

public Duration newDurationDayTime(boolean isPositive, BigInteger day, BigInteger hour, BigInteger minute, BigInteger second)

Create a Duration of type xdt:dayTimeDuration using the specified day, hour, minute and second as defined in XQuery 1.0 and XPath 2.0 Data Model, xdt:dayTimeDuration.

The datatype xdt:dayTimeDuration is a subtype of xs:duration whose lexical representation contains only day, hour, minute, and second components. This datatype resides in the namespace http://www.w3.org/2003/11/xpath-datatypes.

The XML Schema specification states that values can be of an arbitrary size. Implementations may chose not to or be incapable of supporting arbitrarily large and/or small values. An {@link UnsupportedOperationException} will be thrown with a message indicating implementation limits if implementation capacities are exceeded.

A null value indicates that field isnot set.

Parameters: isPositive Set to false to create a negative duration. When the length of the duration is zero, this parameter will be ignored. day Day of Duration. hour Hour of Duration. minute Minute of Duration. second Second of Duration.

Returns: New Duration created with the specified day, hour, minute and second.

Throws: IllegalArgumentException If any values would create an invalid Duration. UnsupportedOperationException If implementation cannot support requested values.

newDurationDayTime

public Duration newDurationDayTime(boolean isPositive, int day, int hour, int minute, int second)

Create a Duration of type xdt:dayTimeDuration using the specified day, hour, minute and second as defined in XQuery 1.0 and XPath 2.0 Data Model, xdt:dayTimeDuration.

The datatype xdt:dayTimeDuration is a subtype of xs:duration whose lexical representation contains only day, hour, minute, and second components. This datatype resides in the namespace http://www.w3.org/2003/11/xpath-datatypes.

A {@link DatatypeConstants#FIELD_UNDEFINED} value indicates that field isnot set.

Parameters: isPositive Set to false to create a negative duration. When the length of the duration is zero, this parameter will be ignored. day Day of Duration. hour Hour of Duration. minute Minute of Duration. second Second of Duration.

Returns: New Duration created with the specified day, hour, minute and second.

Throws: IllegalArgumentException If any values would create an invalid Duration.

newDurationYearMonth

public Duration newDurationYearMonth(String lexicalRepresentation)

Create a Duration of type xdt:yearMonthDuration by parsing its String representation, "PnYnM", XQuery 1.0 and XPath 2.0 Data Model, xdt:yearMonthDuration.

The datatype xdt:yearMonthDuration is a subtype of xs:duration whose lexical representation contains only year and month components. This datatype resides in the namespace {@link javax.xml.XMLConstants#W3C_XPATH_DATATYPE_NS_URI}.

Both values are set and availabe from the created {@link Duration}

The XML Schema specification states that values can be of an arbitrary size. Implementations may chose not to or be incapable of supporting arbitrarily large and/or small values. An {@link UnsupportedOperationException} will be thrown with a message indicating implementation limits if implementation capacities are exceeded.

Parameters: lexicalRepresentation Lexical representation of a duration.

Returns: New Duration created using the specified lexicalRepresentation.

Throws: IllegalArgumentException If the lexicalRepresentation does not conform to the specification. UnsupportedOperationException If implementation cannot support requested values. NullPointerException If lexicalRepresentation is null.

newDurationYearMonth

public Duration newDurationYearMonth(long durationInMilliseconds)

Create a Duration of type xdt:yearMonthDuration using the specified milliseconds as defined in XQuery 1.0 and XPath 2.0 Data Model, xdt:yearMonthDuration.

The datatype xdt:yearMonthDuration is a subtype of xs:duration whose lexical representation contains only year and month components. This datatype resides in the namespace {@link javax.xml.XMLConstants#W3C_XPATH_DATATYPE_NS_URI}.

Both values are set by computing their values from the specified milliseconds and are availabe using the get methods of the created {@link Duration}. The values conform to and are defined by:

The default start instance is defined by {@link GregorianCalendar}'s use of the start of the epoch: i.e., {@link java.util.Calendar#YEAR} = 1970, {@link java.util.Calendar#MONTH} = {@link java.util.Calendar#JANUARY}, {@link java.util.Calendar#DATE} = 1, etc. This is important as there are variations in the Gregorian Calendar, e.g. leap years have different days in the month = {@link java.util.Calendar#FEBRUARY} so the result of {@link Duration#getMonths()} can be influenced.

Any remaining milliseconds after determining the year and month are discarded.

Parameters: durationInMilliseconds Milliseconds of Duration to create.

Returns: New Duration created using the specified durationInMilliseconds.

newDurationYearMonth

public Duration newDurationYearMonth(boolean isPositive, BigInteger year, BigInteger month)

Create a Duration of type xdt:yearMonthDuration using the specified year and month as defined in XQuery 1.0 and XPath 2.0 Data Model, xdt:yearMonthDuration.

The XML Schema specification states that values can be of an arbitrary size. Implementations may chose not to or be incapable of supporting arbitrarily large and/or small values. An {@link UnsupportedOperationException} will be thrown with a message indicating implementation limits if implementation capacities are exceeded.

A null value indicates that field isnot set.

Parameters: isPositive Set to false to create a negative duration. When the length of the duration is zero, this parameter will be ignored. year Year of Duration. month Month of Duration.

Returns: New Duration created using the specified year and month.

Throws: IllegalArgumentException If any values would create an invalid Duration. UnsupportedOperationException If implementation cannot support requested values.

newDurationYearMonth

public Duration newDurationYearMonth(boolean isPositive, int year, int month)

Create a Duration of type xdt:yearMonthDuration using the specified year and month as defined in XQuery 1.0 and XPath 2.0 Data Model, xdt:yearMonthDuration.

A {@link DatatypeConstants#FIELD_UNDEFINED} value indicates that field isnot set.

Parameters: isPositive Set to false to create a negative duration. When the length of the duration is zero, this parameter will be ignored. year Year of Duration. month Month of Duration.

Returns: New Duration created using the specified year and month.

Throws: IllegalArgumentException If any values would create an invalid Duration.

newInstance

public static DatatypeFactory newInstance()

Obtain a new instance of a DatatypeFactory.

The implementation resolution mechanisms are defined in this Class's documentation.

Returns: New instance of a DocumentBuilderFactory

Throws: DatatypeConfigurationException If the implementation is not available or cannot be instantiated.

newXMLGregorianCalendar

public abstract XMLGregorianCalendar newXMLGregorianCalendar()

Create a new instance of an XMLGregorianCalendar.

All date/time datatype fields set to {@link DatatypeConstants#FIELD_UNDEFINED} or null.

Returns: New XMLGregorianCalendar with all date/time datatype fields set to {@link DatatypeConstants#FIELD_UNDEFINED} or null.

newXMLGregorianCalendar

public abstract XMLGregorianCalendar newXMLGregorianCalendar(String lexicalRepresentation)

Create a new XMLGregorianCalendar by parsing the String as a lexical representation.

Parsing the lexical string representation is defined in XML Schema 1.0 Part 2, Section 3.2.[7-14].1, Lexical Representation.

The string representation may not have any leading and trailing whitespaces.

The parsing is done field by field so that the following holds for any lexically correct String x:

 newXMLGregorianCalendar(x).toXMLFormat().equals(x)
 

Except for the noted lexical/canonical representation mismatches listed in XML Schema 1.0 errata, Section 3.2.7.2.

Parameters: lexicalRepresentation Lexical representation of one the eight XML Schema date/time datatypes.

Returns: XMLGregorianCalendar created from the lexicalRepresentation.

Throws: IllegalArgumentException If the lexicalRepresentation is not a valid XMLGregorianCalendar. NullPointerException If lexicalRepresentation is null.

newXMLGregorianCalendar

public abstract XMLGregorianCalendar newXMLGregorianCalendar(GregorianCalendar cal)

Create an XMLGregorianCalendar from a {@link GregorianCalendar}.

Field by Field Conversion from {@link GregorianCalendar} to an {@link XMLGregorianCalendar}
java.util.GregorianCalendar field javax.xml.datatype.XMLGregorianCalendar field
ERA == GregorianCalendar.BC ? -YEAR : YEAR {@link XMLGregorianCalendar#setYear(int year)}
MONTH + 1 {@link XMLGregorianCalendar#setMonth(int month)}
DAY_OF_MONTH {@link XMLGregorianCalendar#setDay(int day)}
HOUR_OF_DAY, MINUTE, SECOND, MILLISECOND {@link XMLGregorianCalendar#setTime(int hour, int minute, int second, BigDecimal fractional)}
(ZONE_OFFSET + DST_OFFSET) / (60*1000)
(in minutes)
{@link XMLGregorianCalendar#setTimezone(int offset)}*

*conversion loss of information. It is not possible to represent a java.util.GregorianCalendar daylight savings timezone id in the XML Schema 1.0 date/time datatype representation.

To compute the return value's TimeZone field,

  • when this.getTimezone() != FIELD_UNDEFINED, create a java.util.TimeZone with a custom timezone id using the this.getTimezone().
  • else use the GregorianCalendar default timezone value for the host is defined as specified by java.util.TimeZone.getDefault().
  • Parameters: cal java.util.GregorianCalendar used to create XMLGregorianCalendar

    Returns: XMLGregorianCalendar created from java.util.GregorianCalendar

    Throws: NullPointerException If cal is null.

newXMLGregorianCalendar

public abstract XMLGregorianCalendar newXMLGregorianCalendar(BigInteger year, int month, int day, int hour, int minute, int second, BigDecimal fractionalSecond, int timezone)

Constructor allowing for complete value spaces allowed by W3C XML Schema 1.0 recommendation for xsd:dateTime and related builtin datatypes. Note that year parameter supports arbitrarily large numbers and fractionalSecond has infinite precision.

A null value indicates that field isnot set.

Parameters: year of XMLGregorianCalendar to be created. month of XMLGregorianCalendar to be created. day of XMLGregorianCalendar to be created. hour of XMLGregorianCalendar to be created. minute of XMLGregorianCalendar to be created. second of XMLGregorianCalendar to be created. fractionalSecond of XMLGregorianCalendar to be created. timezone of XMLGregorianCalendar to be created.

Returns: XMLGregorianCalendar created from specified values.

Throws: IllegalArgumentException If any individual parameter's value is outside the maximum value constraint for the field as determined by the Date/Time Data Mapping table in {@link XMLGregorianCalendar} or if the composite values constitute an invalid XMLGregorianCalendar instance as determined by {@link XMLGregorianCalendar#isValid()}.

newXMLGregorianCalendar

public XMLGregorianCalendar newXMLGregorianCalendar(int year, int month, int day, int hour, int minute, int second, int millisecond, int timezone)

Constructor of value spaces that a java.util.GregorianCalendar instance would need to convert to an XMLGregorianCalendar instance.

XMLGregorianCalendar eon and fractionalSecond are set to null

A {@link DatatypeConstants#FIELD_UNDEFINED} value indicates that field isnot set.

Parameters: year of XMLGregorianCalendar to be created. month of XMLGregorianCalendar to be created. day of XMLGregorianCalendar to be created. hour of XMLGregorianCalendar to be created. minute of XMLGregorianCalendar to be created. second of XMLGregorianCalendar to be created. millisecond of XMLGregorianCalendar to be created. timezone of XMLGregorianCalendar to be created.

Returns: XMLGregorianCalendar created from specified values.

Throws: IllegalArgumentException If any individual parameter's value is outside the maximum value constraint for the field as determined by the Date/Time Data Mapping table in {@link XMLGregorianCalendar} or if the composite values constitute an invalid XMLGregorianCalendar instance as determined by {@link XMLGregorianCalendar#isValid()}.

newXMLGregorianCalendarDate

public XMLGregorianCalendar newXMLGregorianCalendarDate(int year, int month, int day, int timezone)

Create a Java representation of XML Schema builtin datatype date or g*.

For example, an instance of gYear can be created invoking this factory with month and day parameters set to {@link DatatypeConstants#FIELD_UNDEFINED}.

A {@link DatatypeConstants#FIELD_UNDEFINED} value indicates that field isnot set.

Parameters: year of XMLGregorianCalendar to be created. month of XMLGregorianCalendar to be created. day of XMLGregorianCalendar to be created. timezone offset in minutes. {@link DatatypeConstants#FIELD_UNDEFINED} indicates optional field is not set.

Returns: XMLGregorianCalendar created from parameter values.

Throws: IllegalArgumentException If any individual parameter's value is outside the maximum value constraint for the field as determined by the Date/Time Data Mapping table in {@link XMLGregorianCalendar} or if the composite values constitute an invalid XMLGregorianCalendar instance as determined by {@link XMLGregorianCalendar#isValid()}.

See Also: FIELD_UNDEFINED

newXMLGregorianCalendarTime

public XMLGregorianCalendar newXMLGregorianCalendarTime(int hours, int minutes, int seconds, int timezone)

Create a Java instance of XML Schema builtin datatype time.

A {@link DatatypeConstants#FIELD_UNDEFINED} value indicates that field isnot set.

Parameters: hours number of hours minutes number of minutes seconds number of seconds timezone offset in minutes. {@link DatatypeConstants#FIELD_UNDEFINED} indicates optional field is not set.

Returns: XMLGregorianCalendar created from parameter values.

Throws: IllegalArgumentException If any individual parameter's value is outside the maximum value constraint for the field as determined by the Date/Time Data Mapping table in {@link XMLGregorianCalendar} or if the composite values constitute an invalid XMLGregorianCalendar instance as determined by {@link XMLGregorianCalendar#isValid()}.

See Also: FIELD_UNDEFINED

newXMLGregorianCalendarTime

public XMLGregorianCalendar newXMLGregorianCalendarTime(int hours, int minutes, int seconds, BigDecimal fractionalSecond, int timezone)

Create a Java instance of XML Schema builtin datatype time.

A null value indicates that field isnot set.

A {@link DatatypeConstants#FIELD_UNDEFINED} value indicates that field isnot set.

Parameters: hours number of hours minutes number of minutes seconds number of seconds fractionalSecond value of null indicates that this optional field is not set. timezone offset in minutes. {@link DatatypeConstants#FIELD_UNDEFINED} indicates optional field is not set.

Returns: XMLGregorianCalendar created from parameter values.

Throws: IllegalArgumentException If any individual parameter's value is outside the maximum value constraint for the field as determined by the Date/Time Data Mapping table in {@link XMLGregorianCalendar} or if the composite values constitute an invalid XMLGregorianCalendar instance as determined by {@link XMLGregorianCalendar#isValid()}.

See Also: FIELD_UNDEFINED

newXMLGregorianCalendarTime

public XMLGregorianCalendar newXMLGregorianCalendarTime(int hours, int minutes, int seconds, int milliseconds, int timezone)

Create a Java instance of XML Schema builtin datatype time.

A {@link DatatypeConstants#FIELD_UNDEFINED} value indicates that field isnot set.

Parameters: hours number of hours minutes number of minutes seconds number of seconds milliseconds number of milliseconds timezone offset in minutes. {@link DatatypeConstants#FIELD_UNDEFINED} indicates optional field is not set.

Returns: XMLGregorianCalendar created from parameter values.

Throws: IllegalArgumentException If any individual parameter's value is outside the maximum value constraint for the field as determined by the Date/Time Data Mapping table in {@link XMLGregorianCalendar} or if the composite values constitute an invalid XMLGregorianCalendar instance as determined by {@link XMLGregorianCalendar#isValid()}.

See Also: FIELD_UNDEFINED