APIdia Launch Partner
Top Description Fields Constructors Methods
com.sun.org.apache.xerces.internal.jaxp.datatype

public Class DatatypeFactoryImpl

extends DatatypeFactory
Class Inheritance
Imports
java.math.BigInteger, .BigDecimal, java.util.GregorianCalendar, javax.xml.datatype.DatatypeConstants, .DatatypeFactory, .Duration, .XMLGregorianCalendar

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

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 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 DatatypeConfigurationException.
  2. If the file ${JAVA_HOME}/conf/jaxp.properties exists, it is loaded in a 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 DatatypeConfigurationException.
  4. The final mechanism is to attempt to instantiate the Class specified by DATATYPEFACTORY_IMPLEMENTATION_CLASS, "javax.xml.datatype.DatatypeFactoryImpl". Any Exception thrown during the instantiation process is wrapped as a DatatypeConfigurationException.
Authors
Joseph Fialli, Jeff Suttor

Field Summary

Inherited from javax.xml.datatype.DatatypeFactory:
DATATYPEFACTORY_IMPLEMENTATION_CLASSDATATYPEFACTORY_PROPERTY

Constructor Summary

AccessConstructor and Description
public
DatatypeFactoryImpl()

Public constructor is empty..

Method Summary

Modifier and TypeMethod and Description
public Duration

Returns:

New Duration created from parsing the lexicalRepresentation.
newDuration
(final String
String representation of a Duration.
lexicalRepresentation
)

Implements abstract javax.xml.datatype.DatatypeFactory.newDuration.

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.

public Duration

Returns:

New Duration representing durationInMilliseconds.
newDuration
(final long
Duration in milliseconds to create.
durationInMilliseconds
)

Implements abstract javax.xml.datatype.DatatypeFactory.newDuration.

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

public Duration

Returns:

New Duration created from the specified values.
newDuration
(final boolean
Set to false to create a negative duration. When the length of the duration is zero, this parameter will be ignored.
isPositive
,
final BigInteger
of this Duration
years
,
final BigInteger
of this Duration
months
,
final BigInteger
of this Duration
days
,
final BigInteger
of this Duration
hours
,
final BigInteger
of this Duration
minutes
,
final BigDecimal
of this Duration
seconds
)

Implements abstract javax.xml.datatype.DatatypeFactory.newDuration.

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

public Duration

Returns:

New Duration created using the specified lexicalRepresentation.
newDurationDayTime
(final String
Lexical representation of a duration.
lexicalRepresentation
)

Overrides javax.xml.datatype.DatatypeFactory.newDurationDayTime.

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

public Duration

Returns:

New Duration created with the specified durationInMilliseconds.
newDurationDayTime
(final long
Milliseconds of Duration to create.
durationInMilliseconds
)

Overrides javax.xml.datatype.DatatypeFactory.newDurationDayTime.

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.

public Duration

Returns:

New Duration created with the specified day, hour, minute and second.
newDurationDayTime
(final boolean
Set to false to create a negative duration. When the length of the duration is zero, this parameter will be ignored.
isPositive
,
final BigInteger
Day of Duration.
day
,
final BigInteger
Hour of Duration.
hour
,
final BigInteger
Minute of Duration.
minute
,
final BigInteger
Second of Duration.
second
)

Overrides javax.xml.datatype.DatatypeFactory.newDurationDayTime.

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.

public Duration

Returns:

New Duration created with the specified day, hour, minute and second.
newDurationDayTime
(final boolean
Set to false to create a negative duration. When the length of the duration is zero, this parameter will be ignored.
isPositive
,
final int
Day of Duration.
day
,
final int
Hour of Duration.
hour
,
final int
Minute of Duration.
minute
,
final int
Second of Duration.
second
)

Overrides javax.xml.datatype.DatatypeFactory.newDurationDayTime.

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.

public Duration

Returns:

New Duration created using the specified year and month.
newDurationYearMonth
(final boolean
Set to false to create a negative duration. When the length of the duration is zero, this parameter will be ignored.
isPositive
,
final BigInteger
Year of Duration.
year
,
final BigInteger
Month of Duration.
month
)

Overrides javax.xml.datatype.DatatypeFactory.newDurationYearMonth.

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.

public Duration

Returns:

New Duration created using the specified year and month.
newDurationYearMonth
(final boolean
Set to false to create a negative duration. When the length of the duration is zero, this parameter will be ignored.
isPositive
,
final int
Year of Duration.
year
,
final int
Month of Duration.
month
)

Overrides javax.xml.datatype.DatatypeFactory.newDurationYearMonth.

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.

public Duration

Returns:

New Duration created using the specified lexicalRepresentation.
newDurationYearMonth
(final String
Lexical representation of a duration.
lexicalRepresentation
)

Overrides javax.xml.datatype.DatatypeFactory.newDurationYearMonth.

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

public Duration

Returns:

New Duration created using the specified durationInMilliseconds.
newDurationYearMonth
(final long
Milliseconds of Duration to create.
durationInMilliseconds
)

Overrides javax.xml.datatype.DatatypeFactory.newDurationYearMonth.

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.

public XMLGregorianCalendar

Returns:

New XMLGregorianCalendar with all date/time datatype fields set to DatatypeConstants#FIELD_UNDEFINED or null.
newXMLGregorianCalendar
()

Implements abstract javax.xml.datatype.DatatypeFactory.newXMLGregorianCalendar.

Create a new instance of an XMLGregorianCalendar.

public XMLGregorianCalendar

Returns:

XMLGregorianCalendar created from the lexicalRepresentation.
newXMLGregorianCalendar
(final String
Lexical representation of one the eight XML Schema date/time datatypes.
lexicalRepresentation
)

Implements abstract javax.xml.datatype.DatatypeFactory.newXMLGregorianCalendar.

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

public XMLGregorianCalendar

Returns:

XMLGregorianCalendar created from java.util.GregorianCalendar
newXMLGregorianCalendar
(final GregorianCalendar
java.util.GregorianCalendar used to create XMLGregorianCalendar
cal
)

Implements abstract javax.xml.datatype.DatatypeFactory.newXMLGregorianCalendar.

Create an XMLGregorianCalendar from a GregorianCalendar.

public XMLGregorianCalendar

Returns:

XMLGregorianCalendar created from specified values.
newXMLGregorianCalendar
(final BigInteger
of XMLGregorianCalendar to be created.
year
,
final int
of XMLGregorianCalendar to be created.
month
,
final int
of XMLGregorianCalendar to be created.
day
,
final int
of XMLGregorianCalendar to be created.
hour
,
final int
of XMLGregorianCalendar to be created.
minute
,
final int
of XMLGregorianCalendar to be created.
second
,
final BigDecimal
of XMLGregorianCalendar to be created.
fractionalSecond
,
final int
of XMLGregorianCalendar to be created.
timezone
)

Implements abstract javax.xml.datatype.DatatypeFactory.newXMLGregorianCalendar.

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

Inherited from javax.xml.datatype.DatatypeFactory:
newDefaultInstancenewDurationnewInstancenewInstancenewXMLGregorianCalendarnewXMLGregorianCalendarDatenewXMLGregorianCalendarTimenewXMLGregorianCalendarTimenewXMLGregorianCalendarTime

Constructor Detail

DatatypeFactoryImplback to summary
public DatatypeFactoryImpl()

Public constructor is empty..

Use DatatypeFactory#newInstance() to create a DatatypeFactory.

Method Detail

newDurationback to summary
public Duration newDuration(final String lexicalRepresentation)

Implements abstract javax.xml.datatype.DatatypeFactory.newDuration.

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 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 UnsupportedOperationException will be thrown with a message indicating implementation limits if implementation capacities are exceeded.

Parameters
lexicalRepresentation:String

String representation of a Duration.

Returns:Duration

New Duration created from parsing the lexicalRepresentation.

Exceptions
IllegalArgumentException:
If lexicalRepresentation is not a valid representation of a Duration.
UnsupportedOperationException:
If implementation cannot support requested values.
NullPointerException:
if lexicalRepresentation is null.
newDurationback to summary
public Duration newDuration(final long durationInMilliseconds)

Implements abstract javax.xml.datatype.DatatypeFactory.newDuration.

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 Duration. The values conform to and are defined by:

The default start instance is defined by GregorianCalendar's use of the start of the epoch: i.e., java.util.Calendar#YEAR = 1970, java.util.Calendar#MONTH = java.util.Calendar#JANUARY, 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 = java.util.Calendar#FEBRUARY so the result of Duration#getMonths() and Duration#getDays() can be influenced.

Parameters
durationInMilliseconds:long

Duration in milliseconds to create.

Returns:Duration

New Duration representing durationInMilliseconds.

newDurationback to summary
public Duration newDuration(final boolean isPositive, final BigInteger years, final BigInteger months, final BigInteger days, final BigInteger hours, final BigInteger minutes, final BigDecimal seconds)

Implements abstract javax.xml.datatype.DatatypeFactory.newDuration.

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 UnsupportedOperationException will be thrown with a message indicating implementation limits if implementation capacities are exceeded.

Parameters
isPositive:boolean

Set to false to create a negative duration. When the length of the duration is zero, this parameter will be ignored.

years:BigInteger

of this Duration

months:BigInteger

of this Duration

days:BigInteger

of this Duration

hours:BigInteger

of this Duration

minutes:BigInteger

of this Duration

seconds:BigDecimal

of this Duration

Returns:Duration

New Duration created from the specified values.

Exceptions
IllegalArgumentException:
If values are not a valid representation of a Duration.
UnsupportedOperationException:
If implementation cannot support requested values.
NullPointerException:
If any values are null.
See Also
newDuration(boolean isPositive, BigInteger years, BigInteger months, BigInteger days, BigInteger hours, BigInteger minutes, BigDecimal seconds)
newDurationDayTimeback to summary
public Duration newDurationDayTime(final String lexicalRepresentation)

Overrides javax.xml.datatype.DatatypeFactory.newDurationDayTime.

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 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 UnsupportedOperationException will be thrown with a message indicating implementation limits if implementation capacities are exceeded.

Parameters
lexicalRepresentation:String

Lexical representation of a duration.

Returns:Duration

New Duration created using the specified lexicalRepresentation.

Exceptions
IllegalArgumentException:
If lexicalRepresentation is not a valid representation of a Duration expressed only in terms of days and time.
UnsupportedOperationException:
If implementation cannot support requested values.
NullPointerException:
If lexicalRepresentation is null.
newDurationDayTimeback to summary
public Duration newDurationDayTime(final long durationInMilliseconds)

Overrides javax.xml.datatype.DatatypeFactory.newDurationDayTime.

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 Duration. The values conform to and are defined by:

The default start instance is defined by GregorianCalendar's use of the start of the epoch: i.e., java.util.Calendar#YEAR = 1970, java.util.Calendar#MONTH = java.util.Calendar#JANUARY, 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 = java.util.Calendar#FEBRUARY so the result of Duration#getDays() can be influenced.

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

Parameters
durationInMilliseconds:long

Milliseconds of Duration to create.

Returns:Duration

New Duration created with the specified durationInMilliseconds.

See Also
XQuery 1.0 and XPath 2.0 Data Model, xdt:dayTimeDuration
newDurationDayTimeback to summary
public Duration newDurationDayTime(final boolean isPositive, final BigInteger day, final BigInteger hour, final BigInteger minute, final BigInteger second)

Overrides javax.xml.datatype.DatatypeFactory.newDurationDayTime.

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 UnsupportedOperationException will be thrown with a message indicating implementation limits if implementation capacities are exceeded.

A null value indicates that field is not set.

Parameters
isPositive:boolean

Set to false to create a negative duration. When the length of the duration is zero, this parameter will be ignored.

day:BigInteger

Day of Duration.

hour:BigInteger

Hour of Duration.

minute:BigInteger

Minute of Duration.

second:BigInteger

Second of Duration.

Returns:Duration

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

Exceptions
IllegalArgumentException:
If the values are not a valid representation of a Duration: if all the fields (day, hour, ...) are null or if any of the fields is negative.
UnsupportedOperationException:
If implementation cannot support requested values.
newDurationDayTimeback to summary
public Duration newDurationDayTime(final boolean isPositive, final int day, final int hour, final int minute, final int second)

Overrides javax.xml.datatype.DatatypeFactory.newDurationDayTime.

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 DatatypeConstants#FIELD_UNDEFINED value indicates that field is not set.

Parameters
isPositive:boolean

Set to false to create a negative duration. When the length of the duration is zero, this parameter will be ignored.

day:int

Day of Duration.

hour:int

Hour of Duration.

minute:int

Minute of Duration.

second:int

Second of Duration.

Returns:Duration

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

Exceptions
IllegalArgumentException:
If the values are not a valid representation of a Duration: if any of the fields (day, hour, ...) is negative.
newDurationYearMonthback to summary
public Duration newDurationYearMonth(final boolean isPositive, final BigInteger year, final BigInteger month)

Overrides javax.xml.datatype.DatatypeFactory.newDurationYearMonth.

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 UnsupportedOperationException will be thrown with a message indicating implementation limits if implementation capacities are exceeded.

A null value indicates that field is not set.

Parameters
isPositive:boolean

Set to false to create a negative duration. When the length of the duration is zero, this parameter will be ignored.

year:BigInteger

Year of Duration.

month:BigInteger

Month of Duration.

Returns:Duration

New Duration created using the specified year and month.

Exceptions
IllegalArgumentException:
If the values are not a valid representation of a Duration: if all of the fields (year, month) are null or if any of the fields is negative.
UnsupportedOperationException:
If implementation cannot support requested values.
newDurationYearMonthback to summary
public Duration newDurationYearMonth(final boolean isPositive, final int year, final int month)

Overrides javax.xml.datatype.DatatypeFactory.newDurationYearMonth.

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 DatatypeConstants#FIELD_UNDEFINED value indicates that field is not set.

Parameters
isPositive:boolean

Set to false to create a negative duration. When the length of the duration is zero, this parameter will be ignored.

year:int

Year of Duration.

month:int

Month of Duration.

Returns:Duration

New Duration created using the specified year and month.

Annotations
@Override
Exceptions
IllegalArgumentException:
If the values are not a valid representation of a Duration: if any of the fields (year, month) is negative.
newDurationYearMonthback to summary
public Duration newDurationYearMonth(final String lexicalRepresentation)

Overrides javax.xml.datatype.DatatypeFactory.newDurationYearMonth.

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 javax.xml.XMLConstants#W3C_XPATH_DATATYPE_NS_URI.

Both values are set and availabe from the created 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 UnsupportedOperationException will be thrown with a message indicating implementation limits if implementation capacities are exceeded.

Parameters
lexicalRepresentation:String

Lexical representation of a duration.

Returns:Duration

New Duration created using the specified lexicalRepresentation.

Exceptions
IllegalArgumentException:
If lexicalRepresentation is not a valid representation of a Duration expressed only in terms of years and months.
UnsupportedOperationException:
If implementation cannot support requested values.
NullPointerException:
If lexicalRepresentation is null.
newDurationYearMonthback to summary
public Duration newDurationYearMonth(final long durationInMilliseconds)

Overrides javax.xml.datatype.DatatypeFactory.newDurationYearMonth.

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 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 Duration. The values conform to and are defined by:

The default start instance is defined by GregorianCalendar's use of the start of the epoch: i.e., java.util.Calendar#YEAR = 1970, java.util.Calendar#MONTH = java.util.Calendar#JANUARY, 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 = java.util.Calendar#FEBRUARY so the result of Duration#getMonths() can be influenced.

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

Parameters
durationInMilliseconds:long

Milliseconds of Duration to create.

Returns:Duration

New Duration created using the specified durationInMilliseconds.

newXMLGregorianCalendarback to summary
public XMLGregorianCalendar newXMLGregorianCalendar()

Implements abstract javax.xml.datatype.DatatypeFactory.newXMLGregorianCalendar.

Create a new instance of an XMLGregorianCalendar.

All date/time datatype fields set to DatatypeConstants#FIELD_UNDEFINED or null.

Returns:XMLGregorianCalendar

New XMLGregorianCalendar with all date/time datatype fields set to DatatypeConstants#FIELD_UNDEFINED or null.

newXMLGregorianCalendarback to summary
public XMLGregorianCalendar newXMLGregorianCalendar(final String lexicalRepresentation)

Implements abstract javax.xml.datatype.DatatypeFactory.newXMLGregorianCalendar.

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:String

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

Returns:XMLGregorianCalendar

XMLGregorianCalendar created from the lexicalRepresentation.

Exceptions
IllegalArgumentException:
If the lexicalRepresentation is not a valid XMLGregorianCalendar.
NullPointerException:
If lexicalRepresentation is null.
newXMLGregorianCalendarback to summary
public XMLGregorianCalendar newXMLGregorianCalendar(final GregorianCalendar cal)

Implements abstract javax.xml.datatype.DatatypeFactory.newXMLGregorianCalendar.

Create an XMLGregorianCalendar from a GregorianCalendar.

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

    java.util.GregorianCalendar used to create XMLGregorianCalendar

    Returns:XMLGregorianCalendar

    XMLGregorianCalendar created from java.util.GregorianCalendar

    Exceptions
    NullPointerException:
    If cal is null.
newXMLGregorianCalendarback to summary
public XMLGregorianCalendar newXMLGregorianCalendar(final BigInteger year, final int month, final int day, final int hour, final int minute, final int second, final BigDecimal fractionalSecond, final int timezone)

Implements abstract javax.xml.datatype.DatatypeFactory.newXMLGregorianCalendar.

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.

Parameters
year:BigInteger

of XMLGregorianCalendar to be created.

month:int

of XMLGregorianCalendar to be created.

day:int

of XMLGregorianCalendar to be created.

hour:int

of XMLGregorianCalendar to be created.

minute:int

of XMLGregorianCalendar to be created.

second:int

of XMLGregorianCalendar to be created.

fractionalSecond:BigDecimal

of XMLGregorianCalendar to be created.

timezone:int

of XMLGregorianCalendar to be created.

Returns:XMLGregorianCalendar

XMLGregorianCalendar created from specified values.

Exceptions
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 XMLGregorianCalendar or if the composite values constitute an invalid XMLGregorianCalendar instance as determined by XMLGregorianCalendar#isValid().
NullPointerException:
If any parameters are null.