java.lang.Object | |
↳ | javax.xml.datatype.DatatypeFactory |
Factory that creates new javax.xml.datatype
Object
s that map XML to/from Java Object
s.
newInstance()
is used to create a new DatatypeFactory
.
The following implementation resolution mechanisms are used in the following order:
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
.
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.
META-INF/services/java.xml.datatype.DatatypeFactory
.
Any Exception thrown during the instantiation process is wrapped as a DatatypeConfigurationException
.
Class
specified by
DATATYPEFACTORY_IMPLEMENTATION_CLASS
, "javax.xml.datatype.DatatypeFactoryImpl
".
Any Exception thrown during the instantiation process is wrapped as a DatatypeConfigurationException
.
Constants | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
String | DATATYPEFACTORY_IMPLEMENTATION_CLASS | Default implementation class name as defined in JSR 206: Java(TM) API for XML Processing (JAXP) 1.3. |
|||||||||
String | DATATYPEFACTORY_PROPERTY | Default property name as defined in JSR 206: Java(TM) API for XML Processing (JAXP) 1.3. |
Protected Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Protected constructor to prevent instantiation outside of package. |
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Obtain a new instance of a | |||||||||||
Obtain a new instance of a | |||||||||||
Obtain a new instance of a | |||||||||||
Obtain a new instance of a | |||||||||||
Create a | |||||||||||
Create a | |||||||||||
Create a | |||||||||||
Create a | |||||||||||
Create a | |||||||||||
Create a | |||||||||||
Create a | |||||||||||
Create a | |||||||||||
Obtain a new instance of a | |||||||||||
Constructor of value spaces that a
| |||||||||||
Create an | |||||||||||
Constructor allowing for complete value spaces allowed by W3C XML Schema 1.0 recommendation for xsd:dateTime and related builtin datatypes. | |||||||||||
Create a new instance of an | |||||||||||
Create a new XMLGregorianCalendar by parsing the String as a lexical representation. | |||||||||||
Create a Java representation of XML Schema builtin datatype | |||||||||||
Create a Java instance of XML Schema builtin datatype time. | |||||||||||
Create a Java instance of XML Schema builtin datatype time. | |||||||||||
Create a Java instance of XML Schema builtin datatype |
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class java.lang.Object
|
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
.
Default property name as defined in JSR 206: Java(TM) API for XML Processing (JAXP) 1.3.
Default value is javax.xml.datatype.DatatypeFactory
.
Protected constructor to prevent instantiation outside of package.
Use newInstance()
to create a DatatypeFactory
.
Obtain a new instance of a Duration
specifying the Duration
as isPositive, years, months, days, hours, minutes, seconds.
A FIELD_UNDEFINED
value indicates that field is not set.
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 |
Duration
created from the specified values.IllegalArgumentException | If values are not a valid representation of a Duration . |
---|
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:
XMLGregorianCalendar
Date/Time Datatype Field Mapping Between XML Schema 1.0 and Java RepresentationThe default start instance is defined by GregorianCalendar
's use of the start of the epoch: i.e.,
YEAR
= 1970,
MONTH
= JANUARY
,
DATE
= 1, etc.
This is important as there are variations in the Gregorian Calendar,
e.g. leap years have different days in the month = FEBRUARY
so the result of getMonths()
and getDays()
can be influenced.
durationInMilliSeconds | Duration in milliseconds to create. |
---|
Duration
representing durationInMilliSeconds
.
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.
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 |
Duration
created from the specified values.IllegalArgumentException | If values are not a valid representation of a Duration . |
---|---|
UnsupportedOperationException | If implementation cannot support requested values. |
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.
lexicalRepresentation | String representation of a Duration . |
---|
Duration
created from parsing the lexicalRepresentation
.IllegalArgumentException | If lexicalRepresentation is not a valid representation of a Duration . |
---|---|
UnsupportedOperationException | If implementation cannot support requested values. |
NullPointerException | if lexicalRepresentation is null .
|
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.
lexicalRepresentation | Lexical representation of a duration. |
---|
Duration
created using the specified lexicalRepresentation
.IllegalArgumentException | If the given string does not conform to the aforementioned specification. |
---|---|
UnsupportedOperationException | If implementation cannot support requested values. |
NullPointerException | If lexicalRepresentation is null .
|
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.
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 . |
Duration
created with the specified day
, hour
, minute
and second
.IllegalArgumentException | If any values would create an invalid Duration . |
---|---|
UnsupportedOperationException | If implementation cannot support requested values. |
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 FIELD_UNDEFINED
value indicates that field is not set.
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 . |
Duration
created with the specified day
, hour
, minute
and second
.IllegalArgumentException | If any values would create an invalid Duration .
|
---|
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:
XMLGregorianCalendar
Date/Time Datatype Field Mapping Between XML Schema 1.0 and Java RepresentationThe default start instance is defined by GregorianCalendar
's use of the start of the epoch: i.e.,
YEAR
= 1970,
MONTH
= JANUARY
,
DATE
= 1, etc.
This is important as there are variations in the Gregorian Calendar,
e.g. leap years have different days in the month = FEBRUARY
so the result of getDays()
can be influenced.
Any remaining milliseconds after determining the day, hour, minute and second are discarded.
durationInMilliseconds | Milliseconds of Duration to create. |
---|
Duration
created with the specified durationInMilliseconds
.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 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.
lexicalRepresentation | Lexical representation of a duration. |
---|
Duration
created using the specified lexicalRepresentation
.IllegalArgumentException | If the lexicalRepresentation does not conform to the specification. |
---|---|
UnsupportedOperationException | If implementation cannot support requested values. |
NullPointerException | If lexicalRepresentation is null .
|
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 FIELD_UNDEFINED
value indicates that field is not set.
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 . |
Duration
created using the specified year
and month
.IllegalArgumentException | If any values would create an invalid Duration .
|
---|
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 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:
XMLGregorianCalendar
Date/Time Datatype Field Mapping Between XML Schema 1.0 and Java RepresentationThe default start instance is defined by GregorianCalendar
's use of the start of the epoch: i.e.,
YEAR
= 1970,
MONTH
= JANUARY
,
DATE
= 1, etc.
This is important as there are variations in the Gregorian Calendar,
e.g. leap years have different days in the month = FEBRUARY
so the result of getMonths()
can be influenced.
Any remaining milliseconds after determining the year and month are discarded.
durationInMilliseconds | Milliseconds of Duration to create. |
---|
Duration
created using the specified durationInMilliseconds
.
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.
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 . |
Duration
created using the specified year
and month
.IllegalArgumentException | If any values would create an invalid Duration . |
---|---|
UnsupportedOperationException | If implementation cannot support requested values. |
Obtain a new instance of a DatatypeFactory
.
The implementation resolution mechanisms are defined in this
Class
's documentation.
DocumentBuilderFactory
DatatypeConfigurationException | If the implementation is not available or cannot be instantiated. |
---|
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 FIELD_UNDEFINED
value indicates that field is not set.
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. |
XMLGregorianCalendar
created from specified values.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 isValid() .
|
---|
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 |
setYear(int) |
MONTH + 1 |
setMonth(int) |
DAY_OF_MONTH |
setDay(int) |
HOUR_OF_DAY, MINUTE, SECOND, MILLISECOND |
setTime(int, int, int, BigDecimal) |
(ZONE_OFFSET + DST_OFFSET) / (60*1000) (in minutes) |
setTimezone(int) *
|
*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,
this.getTimezone() != FIELD_UNDEFINED
,
create a java.util.TimeZone
with a custom timezone id
using the this.getTimezone()
.GregorianCalendar
default timezone value
for the host is defined as specified by
java.util.TimeZone.getDefault()
.cal | java.util.GregorianCalendar used to create XMLGregorianCalendar |
---|
XMLGregorianCalendar
created from java.util.GregorianCalendar
NullPointerException | If cal is null .
|
---|
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.
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. |
XMLGregorianCalendar
created from specified values.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 isValid() .
|
---|
Create a new instance of an XMLGregorianCalendar
.
All date/time datatype fields set to FIELD_UNDEFINED
or null.
XMLGregorianCalendar
with all date/time datatype fields set to
FIELD_UNDEFINED
or null.
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.
lexicalRepresentation | Lexical representation of one the eight XML Schema date/time datatypes. |
---|
XMLGregorianCalendar
created from the lexicalRepresentation
.IllegalArgumentException | If the lexicalRepresentation is not a valid XMLGregorianCalendar . |
---|---|
NullPointerException | If lexicalRepresentation is null .
|
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
FIELD_UNDEFINED
.
A FIELD_UNDEFINED
value indicates that field is not set.
year | of XMLGregorianCalendar to be created. |
---|---|
month | of XMLGregorianCalendar to be created. |
day | of XMLGregorianCalendar to be created. |
timezone | offset in minutes. FIELD_UNDEFINED indicates optional field is not set. |
XMLGregorianCalendar
created from parameter values.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 isValid() .
|
---|
Create a Java instance of XML Schema builtin datatype time.
A FIELD_UNDEFINED
value indicates that field is not set.
hours | number of hours |
---|---|
minutes | number of minutes |
seconds | number of seconds |
milliseconds | number of milliseconds |
timezone | offset in minutes. FIELD_UNDEFINED indicates optional field is not set. |
XMLGregorianCalendar
created from parameter values.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 isValid() .
|
---|
Create a Java instance of XML Schema builtin datatype time.
A null
value indicates that field is not set.
A FIELD_UNDEFINED
value indicates that field is not set.
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. FIELD_UNDEFINED indicates optional field is not set. |
XMLGregorianCalendar
created from parameter values.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 isValid() .
|
---|
Create a Java instance of XML Schema builtin datatype time
.
A FIELD_UNDEFINED
value indicates that field is not set.
hours | number of hours |
---|---|
minutes | number of minutes |
seconds | number of seconds |
timezone | offset in minutes. FIELD_UNDEFINED indicates optional field is not set. |
XMLGregorianCalendar
created from parameter values.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 isValid() . |
---|