Top Description Fields Constructors Methods
javax.xml.datatype

public abstract Class DatatypeFactory

extends Object
Class Inheritance
Known Direct Subclasses
com.sun.org.apache.xerces.internal.jaxp.datatype.DatatypeFactoryImpl
Imports
java.math.BigDecimal, .BigInteger, java.util.GregorianCalendar, java.util.regex.Matcher, .Pattern, com.sun.org.apache.xerces.internal.jaxp.datatype.DatatypeFactoryImpl

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

A new instance of the DatatypeFactory is created through the newInstance() method that uses the JAXP Lookup Mechanism to determine the DatatypeFactory implementation class to load.

Authors
Joseph Fialli, Jeff Suttor, Neeraj Bajaj
Since
1.5

Field Summary

Modifier and TypeField and Description
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.

public static final String
DATATYPEFACTORY_PROPERTY

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

private static final Pattern
private static final Pattern
XDTSCHEMA_YMD

http://www.w3.org/TR/xpath-datamodel/#xdtschema defines two regexps to constrain the value space of dayTimeDuration ([^YM]*[DT].*) and yearMonthDuration ([^DT]*).

Constructor Summary

AccessConstructor and Description
protected
DatatypeFactory()

Protected constructor to prevent instantiation outside of package.

Method Summary

Modifier and TypeMethod and Description
public static DatatypeFactory

Returns:

A new instance of the DatatypeFactory builtin system-default implementation.
newDefaultInstance
()

Creates a new instance of the DatatypeFactory builtin system-default implementation.

public abstract Duration

Returns:

New Duration created from parsing the lexicalRepresentation.
newDuration
(final String
String representation of a Duration.
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.

public abstract Duration

Returns:

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

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

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

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

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 int
of this Duration
years
,
final int
of this Duration
months
,
final int
of this Duration
days
,
final int
of this Duration
hours
,
final int
of this Duration
minutes
,
final int
of this Duration
seconds
)

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
)

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
)

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
)

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
)

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 lexicalRepresentation.
newDurationYearMonth
(final String
Lexical representation of a duration.
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.

public Duration

Returns:

New Duration created using the specified durationInMilliseconds.
newDurationYearMonth
(final long
Milliseconds of Duration to create.
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.

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
)

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
)

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 static DatatypeFactory

Returns:

New instance of a DatatypeFactory
newInstance
()

Obtain a new instance of a DatatypeFactory.

public static DatatypeFactory

Returns:

New instance of a DatatypeFactory
newInstance
(String
fully qualified factory class name that provides implementation of javax.xml.datatype.DatatypeFactory.
factoryClassName
,
ClassLoader
ClassLoader used to load the factory class. If null current Thread's context classLoader is used to load the factory class.
classLoader
)

Obtain a new instance of a DatatypeFactory from class name.

public abstract XMLGregorianCalendar

Returns:

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

Create a new instance of an XMLGregorianCalendar.

public abstract XMLGregorianCalendar

Returns:

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

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

public abstract XMLGregorianCalendar

Returns:

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

Create an XMLGregorianCalendar from a GregorianCalendar.

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

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

public XMLGregorianCalendar

Returns:

XMLGregorianCalendar created from specified values.
newXMLGregorianCalendar
(final int
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 int
of XMLGregorianCalendar to be created.
millisecond
,
final int
of XMLGregorianCalendar to be created.
timezone
)

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

public XMLGregorianCalendar

Returns:

XMLGregorianCalendar created from parameter values.
newXMLGregorianCalendarDate
(final int
of XMLGregorianCalendar to be created.
year
,
final int
of XMLGregorianCalendar to be created.
month
,
final int
of XMLGregorianCalendar to be created.
day
,
final int
offset in minutes. DatatypeConstants#FIELD_UNDEFINED indicates optional field is not set.
timezone
)

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

public XMLGregorianCalendar

Returns:

XMLGregorianCalendar created from parameter values.
newXMLGregorianCalendarTime
(final int
number of hours
hours
,
final int
number of minutes
minutes
,
final int
number of seconds
seconds
,
final int
offset in minutes. DatatypeConstants#FIELD_UNDEFINED indicates optional field is not set.
timezone
)

Create a Java instance of XML Schema builtin datatype time.

public XMLGregorianCalendar

Returns:

XMLGregorianCalendar created from parameter values.
newXMLGregorianCalendarTime
(final int
number of hours
hours
,
final int
number of minutes
minutes
,
final int
number of seconds
seconds
,
final BigDecimal
value of null indicates that this optional field is not set.
fractionalSecond
,
final int
offset in minutes. DatatypeConstants#FIELD_UNDEFINED indicates optional field is not set.
timezone
)

Create a Java instance of XML Schema builtin datatype time.

public XMLGregorianCalendar

Returns:

XMLGregorianCalendar created from parameter values.
newXMLGregorianCalendarTime
(final int
number of hours
hours
,
final int
number of minutes
minutes
,
final int
number of seconds
seconds
,
final int
number of milliseconds
milliseconds
,
final int
offset in minutes. DatatypeConstants#FIELD_UNDEFINED indicates optional field is not set.
timezone
)

Create a Java instance of XML Schema builtin datatype time.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

DATATYPEFACTORY_IMPLEMENTATION_CLASSback to summary
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.

Implementers should specify the name of an appropriate class to be instantiated if no other implementation resolution mechanism succeeds.

Users should not refer to this field; it is intended only to document a factory implementation detail.

DATATYPEFACTORY_PROPERTYback to summary
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.

XDTSCHEMA_DTDback to summary
private static final Pattern XDTSCHEMA_DTD
XDTSCHEMA_YMDback to summary
private static final Pattern XDTSCHEMA_YMD

http://www.w3.org/TR/xpath-datamodel/#xdtschema defines two regexps to constrain the value space of dayTimeDuration ([^YM]*[DT].*) and yearMonthDuration ([^DT]*). Note that these expressions rely on the fact that the value must be an xs:Duration, they simply exclude some Durations.

Constructor Detail

DatatypeFactoryback to summary
protected DatatypeFactory()

Protected constructor to prevent instantiation outside of package.

Use newInstance() to create a DatatypeFactory.

Method Detail

newDefaultInstanceback to summary
public static DatatypeFactory newDefaultInstance()

Creates a new instance of the DatatypeFactory builtin system-default implementation.

Returns:DatatypeFactory

A new instance of the DatatypeFactory builtin system-default implementation.

Since
9
newDurationback to summary
public abstract Duration newDuration(final 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 available 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 abstract Duration newDuration(final 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 available 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 abstract Duration newDuration(final boolean isPositive, final BigInteger years, final BigInteger months, final BigInteger days, final BigInteger hours, final BigInteger minutes, final 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 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.

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 the values are not a valid representation of a Duration: if all the fields (years, months, ...) are null or if any of the fields is negative.
UnsupportedOperationException:
If implementation cannot support requested values.
newDurationback to summary
public Duration newDuration(final boolean isPositive, final int years, final int months, final int days, final int hours, final int minutes, final int seconds)

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

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.

years:int

of this Duration

months:int

of this Duration

days:int

of this Duration

hours:int

of this Duration

minutes:int

of this Duration

seconds:int

of this Duration

Returns:Duration

New Duration created from the specified values.

Exceptions
IllegalArgumentException:
If the values are not a valid representation of a Duration: if any of the fields is negative.
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)

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

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

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)

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

Both values are set and available 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)

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 available 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.

newDurationYearMonthback to summary
public Duration newDurationYearMonth(final boolean isPositive, final BigInteger year, final 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 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)

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.

Exceptions
IllegalArgumentException:
If the values are not a valid representation of a Duration: if any of the fields (year, month) is negative.
newInstanceback to summary
public static DatatypeFactory newInstance() throws DatatypeConfigurationException

Obtain a new instance of a DatatypeFactory. This method uses the JAXP Lookup Mechanism to determine the DatatypeFactory implementation class to load.

Returns:DatatypeFactory

New instance of a DatatypeFactory

Exceptions
DatatypeConfigurationException:
If the implementation is not available or cannot be instantiated.
See Also
newInstance(String factoryClassName, ClassLoader classLoader)
newInstanceback to summary
public static DatatypeFactory newInstance(String factoryClassName, ClassLoader classLoader) throws DatatypeConfigurationException

Obtain a new instance of a DatatypeFactory from class name. This function is useful when there are multiple providers in the classpath. It gives more control to the application as it can specify which provider should be loaded.

Once an application has obtained a reference to a DatatypeFactory it can use the factory to configure and obtain datatype instances.

Tip for Trouble-shooting

Setting the jaxp.debug system property will cause this method to print a lot of debug messages to System.err about what it is doing and where it is looking at.

If you have problems try:

java -Djaxp.debug=1 YourProgram ....
Parameters
factoryClassName:String

fully qualified factory class name that provides implementation of javax.xml.datatype.DatatypeFactory.

classLoader:ClassLoader

ClassLoader used to load the factory class. If null current Thread's context classLoader is used to load the factory class.

Returns:DatatypeFactory

New instance of a DatatypeFactory

Exceptions
DatatypeConfigurationException:
if factoryClassName is null, or the factory class cannot be loaded, instantiated.
Since
1.6
See Also
newInstance()
newXMLGregorianCalendarback to summary
public abstract XMLGregorianCalendar 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 abstract XMLGregorianCalendar newXMLGregorianCalendar(final 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: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 abstract XMLGregorianCalendar newXMLGregorianCalendar(final GregorianCalendar cal)

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

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 is not set.

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().
newXMLGregorianCalendarback to summary
public XMLGregorianCalendar newXMLGregorianCalendar(final int year, final int month, final int day, final int hour, final int minute, final int second, final int millisecond, final 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 DatatypeConstants#FIELD_UNDEFINED value indicates that field is not set.

Parameters
year:int

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.

millisecond:int

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().
newXMLGregorianCalendarDateback to summary
public XMLGregorianCalendar newXMLGregorianCalendarDate(final int year, final int month, final int day, final 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 DatatypeConstants#FIELD_UNDEFINED.

A DatatypeConstants#FIELD_UNDEFINED value indicates that field is not set.

Parameters
year:int

of XMLGregorianCalendar to be created.

month:int

of XMLGregorianCalendar to be created.

day:int

of XMLGregorianCalendar to be created.

timezone:int

offset in minutes. DatatypeConstants#FIELD_UNDEFINED indicates optional field is not set.

Returns:XMLGregorianCalendar

XMLGregorianCalendar created from parameter 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().
See Also
DatatypeConstants#FIELD_UNDEFINED
newXMLGregorianCalendarTimeback to summary
public XMLGregorianCalendar newXMLGregorianCalendarTime(final int hours, final int minutes, final int seconds, final int timezone)

Create a Java instance of XML Schema builtin datatype time.

A DatatypeConstants#FIELD_UNDEFINED value indicates that field is not set.

Parameters
hours:int

number of hours

minutes:int

number of minutes

seconds:int

number of seconds

timezone:int

offset in minutes. DatatypeConstants#FIELD_UNDEFINED indicates optional field is not set.

Returns:XMLGregorianCalendar

XMLGregorianCalendar created from parameter 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().
See Also
DatatypeConstants#FIELD_UNDEFINED
newXMLGregorianCalendarTimeback to summary
public XMLGregorianCalendar newXMLGregorianCalendarTime(final int hours, final int minutes, final int seconds, final BigDecimal fractionalSecond, final int timezone)

Create a Java instance of XML Schema builtin datatype time.

A null value indicates that field is not set.

A DatatypeConstants#FIELD_UNDEFINED value indicates that field is not set.

Parameters
hours:int

number of hours

minutes:int

number of minutes

seconds:int

number of seconds

fractionalSecond:BigDecimal

value of null indicates that this optional field is not set.

timezone:int

offset in minutes. DatatypeConstants#FIELD_UNDEFINED indicates optional field is not set.

Returns:XMLGregorianCalendar

XMLGregorianCalendar created from parameter 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().
See Also
DatatypeConstants#FIELD_UNDEFINED
newXMLGregorianCalendarTimeback to summary
public XMLGregorianCalendar newXMLGregorianCalendarTime(final int hours, final int minutes, final int seconds, final int milliseconds, final int timezone)

Create a Java instance of XML Schema builtin datatype time.

A DatatypeConstants#FIELD_UNDEFINED value indicates that field is not set.

Parameters
hours:int

number of hours

minutes:int

number of minutes

seconds:int

number of seconds

milliseconds:int

number of milliseconds

timezone:int

offset in minutes. DatatypeConstants#FIELD_UNDEFINED indicates optional field is not set.

Returns:XMLGregorianCalendar

XMLGregorianCalendar created from parameter 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().
See Also
DatatypeConstants#FIELD_UNDEFINED