Class DatatypeFactory
- java.lang.Object
-
- javax.xml.datatype.DatatypeFactory
-
public abstract class DatatypeFactory extends Object
Factory that creates new
javax.xml.datatype
Object
s that map XML to/from JavaObject
s.A new instance of the
DatatypeFactory
is created through thenewInstance()
method that uses the following implementation resolution mechanisms to determine an implementation:- If the system property specified by
DATATYPEFACTORY_PROPERTY
, "javax.xml.datatype.DatatypeFactory
", exists, a class with the name of the property value is instantiated. Any Exception thrown during the instantiation process is wrapped as aDatatypeConfigurationException
. - If the file ${JAVA_HOME}/lib/jaxp.properties exists, it is loaded in a
Properties
Object
. TheProperties
Object
is then queried for the property as documented in the prior step and processed as documented in the prior step. - Uses the service-provider loading facilities, defined by the
ServiceLoader
class, to attempt to locate and load an implementation of the service using the default loading mechanism: the service-provider loading facility will use the current thread's context class loader to attempt to load the service. If the context class loader is null, the system class loader will be used.
In case ofservice configuration error
aDatatypeConfigurationException
will be thrown. - The final mechanism is to attempt to instantiate the
Class
specified byDATATYPEFACTORY_IMPLEMENTATION_CLASS
. Any Exception thrown during the instantiation process is wrapped as aDatatypeConfigurationException
.
- Since:
- 1.5
- Version:
- $Revision: 1.13 $, $Date: 2010/03/11 23:10:53 $
- If the system property specified by
-
-
Field Summary
Fields Modifier and Type Field and Description static String
DATATYPEFACTORY_IMPLEMENTATION_CLASS
Default implementation class name as defined in JSR 206: Java(TM) API for XML Processing (JAXP) 1.3.static String
DATATYPEFACTORY_PROPERTY
Default property name as defined in JSR 206: Java(TM) API for XML Processing (JAXP) 1.3.
-
Constructor Summary
Constructors Modifier Constructor and Description protected
DatatypeFactory()
Protected constructor to prevent instaniation outside of package.
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method and Description abstract Duration
newDuration(boolean isPositive, BigInteger years, BigInteger months, BigInteger days, BigInteger hours, BigInteger minutes, BigDecimal seconds)
Obtain a new instance of aDuration
specifying theDuration
as isPositive, years, months, days, hours, minutes, seconds.Duration
newDuration(boolean isPositive, int years, int months, int days, int hours, int minutes, int seconds)
Obtain a new instance of aDuration
specifying theDuration
as isPositive, years, months, days, hours, minutes, seconds.abstract Duration
newDuration(long durationInMilliSeconds)
Obtain a new instance of aDuration
specifying theDuration
as milliseconds.abstract Duration
newDuration(String lexicalRepresentation)
Obtain a new instance of aDuration
specifying theDuration
as its string representation, "PnYnMnDTnHnMnS", as defined in XML Schema 1.0 section 3.2.6.1.Duration
newDurationDayTime(boolean isPositive, BigInteger day, BigInteger hour, BigInteger minute, BigInteger second)
Create aDuration
of typexdt:dayTimeDuration
using the specifiedday
,hour
,minute
andsecond
as defined in XQuery 1.0 and XPath 2.0 Data Model, xdt:dayTimeDuration.Duration
newDurationDayTime(boolean isPositive, int day, int hour, int minute, int second)
Create aDuration
of typexdt:dayTimeDuration
using the specifiedday
,hour
,minute
andsecond
as defined in XQuery 1.0 and XPath 2.0 Data Model, xdt:dayTimeDuration.Duration
newDurationDayTime(long durationInMilliseconds)
Create aDuration
of typexdt:dayTimeDuration
using the specified milliseconds as defined in XQuery 1.0 and XPath 2.0 Data Model, xdt:dayTimeDuration.Duration
newDurationDayTime(String lexicalRepresentation)
Create aDuration
of typexdt:dayTimeDuration
by parsing itsString
representation, "PnDTnHnMnS", XQuery 1.0 and XPath 2.0 Data Model, xdt:dayTimeDuration.Duration
newDurationYearMonth(boolean isPositive, BigInteger year, BigInteger month)
Create aDuration
of typexdt:yearMonthDuration
using the specifiedyear
andmonth
as defined in XQuery 1.0 and XPath 2.0 Data Model, xdt:yearMonthDuration.Duration
newDurationYearMonth(boolean isPositive, int year, int month)
Create aDuration
of typexdt:yearMonthDuration
using the specifiedyear
andmonth
as defined in XQuery 1.0 and XPath 2.0 Data Model, xdt:yearMonthDuration.Duration
newDurationYearMonth(long durationInMilliseconds)
Create aDuration
of typexdt:yearMonthDuration
using the specified milliseconds as defined in XQuery 1.0 and XPath 2.0 Data Model, xdt:yearMonthDuration.Duration
newDurationYearMonth(String lexicalRepresentation)
Create aDuration
of typexdt:yearMonthDuration
by parsing itsString
representation, "PnYnM", XQuery 1.0 and XPath 2.0 Data Model, xdt:yearMonthDuration.static DatatypeFactory
newInstance()
Obtain a new instance of aDatatypeFactory
.static DatatypeFactory
newInstance(String factoryClassName, ClassLoader classLoader)
Obtain a new instance of aDatatypeFactory
from class name.abstract XMLGregorianCalendar
newXMLGregorianCalendar()
Create a new instance of anXMLGregorianCalendar
.abstract XMLGregorianCalendar
newXMLGregorianCalendar(BigInteger year, int month, int day, int hour, int minute, int second, BigDecimal fractionalSecond, int timezone)
Constructor allowing for complete value spaces allowed by W3C XML Schema 1.0 recommendation for xsd:dateTime and related builtin datatypes.abstract XMLGregorianCalendar
newXMLGregorianCalendar(GregorianCalendar cal)
Create anXMLGregorianCalendar
from aGregorianCalendar
.XMLGregorianCalendar
newXMLGregorianCalendar(int year, int month, int day, int hour, int minute, int second, int millisecond, int timezone)
Constructor of value spaces that ajava.util.GregorianCalendar
instance would need to convert to anXMLGregorianCalendar
instance.abstract XMLGregorianCalendar
newXMLGregorianCalendar(String lexicalRepresentation)
Create a new XMLGregorianCalendar by parsing the String as a lexical representation.XMLGregorianCalendar
newXMLGregorianCalendarDate(int year, int month, int day, int timezone)
Create a Java representation of XML Schema builtin datatypedate
org*
.XMLGregorianCalendar
newXMLGregorianCalendarTime(int hours, int minutes, int seconds, BigDecimal fractionalSecond, int timezone)
Create a Java instance of XML Schema builtin datatype time.XMLGregorianCalendar
newXMLGregorianCalendarTime(int hours, int minutes, int seconds, int timezone)
Create a Java instance of XML Schema builtin datatypetime
.XMLGregorianCalendar
newXMLGregorianCalendarTime(int hours, int minutes, int seconds, int milliseconds, int timezone)
Create a Java instance of XML Schema builtin datatype time.
-
-
-
Field Detail
DATATYPEFACTORY_PROPERTY
public static final String DATATYPEFACTORY_PROPERTY
Default property name as defined in JSR 206: Java(TM) API for XML Processing (JAXP) 1.3.
Default value is
javax.xml.datatype.DatatypeFactory
.- See Also:
- Constant Field Values
DATATYPEFACTORY_IMPLEMENTATION_CLASS
public static final String DATATYPEFACTORY_IMPLEMENTATION_CLASS
Default implementation class name as defined in JSR 206: Java(TM) API for XML Processing (JAXP) 1.3.
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.
-
Constructor Detail
DatatypeFactory
protected DatatypeFactory()
Protected constructor to prevent instaniation outside of package.
Use
newInstance()
to create aDatatypeFactory
.
-
Method Detail
newInstance
public static DatatypeFactory newInstance() throws DatatypeConfigurationException
Obtain a new instance of a
DatatypeFactory
.The implementation resolution mechanisms are defined in this
Class
's documentation.- Returns:
-
New instance of a
DatatypeFactory
- Throws:
-
DatatypeConfigurationException
- If the implementation is not available or cannot be instantiated. - See Also:
-
newInstance(String factoryClassName, ClassLoader classLoader)
newInstance
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 toSystem.err
about what it is doing and where it is looking at.If you have problems try:
java -Djaxp.debug=1 YourProgram ....
- Parameters:
-
factoryClassName
- fully qualified factory class name that provides implementation ofjavax.xml.datatype.DatatypeFactory
. -
classLoader
-ClassLoader
used to load the factory class. Ifnull
currentThread
's context classLoader is used to load the factory class. - Returns:
-
New instance of a
DatatypeFactory
- Throws:
-
DatatypeConfigurationException
- iffactoryClassName
isnull
, or the factory class cannot be loaded, instantiated. - Since:
- 1.6
- See Also:
-
newInstance()
newDuration
public abstract Duration newDuration(String lexicalRepresentation)
Obtain a new instance of a
Duration
specifying theDuration
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
representation of aDuration
. - Returns:
-
New
Duration
created from parsing thelexicalRepresentation
. - Throws:
-
IllegalArgumentException
- IflexicalRepresentation
is not a valid representation of aDuration
. -
UnsupportedOperationException
- If implementation cannot support requested values. -
NullPointerException
- iflexicalRepresentation
isnull
.
newDuration
public abstract Duration newDuration(long durationInMilliSeconds)
Obtain a new instance of a
Duration
specifying theDuration
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 createdDuration
. The values conform to and are defined by:- ISO 8601:2000(E) Section 5.5.3.2 Alternative format
- W3C XML Schema 1.0 Part 2, Appendix D, ISO 8601 Date and Time Formats
XMLGregorianCalendar
Date/Time Datatype Field Mapping Between XML Schema 1.0 and Java Representation
The default start instance is defined by
GregorianCalendar
's use of the start of the epoch: i.e.,Calendar.YEAR
= 1970,Calendar.MONTH
=Calendar.JANUARY
,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 =Calendar.FEBRUARY
so the result ofDuration.getMonths()
andDuration.getDays()
can be influenced.- Parameters:
-
durationInMilliSeconds
- Duration in milliseconds to create. - Returns:
-
New
Duration
representingdurationInMilliSeconds
.
newDuration
public abstract Duration newDuration(boolean isPositive, BigInteger years, BigInteger months, BigInteger days, BigInteger hours, BigInteger minutes, BigDecimal seconds)
Obtain a new instance of a
Duration
specifying theDuration
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
- Set tofalse
to create a negative duration. When the length of the duration is zero, this parameter will be ignored. -
years
- of thisDuration
-
months
- of thisDuration
-
days
- of thisDuration
-
hours
- of thisDuration
-
minutes
- of thisDuration
-
seconds
- of thisDuration
- Returns:
-
New
Duration
created from the specified values. - Throws:
-
IllegalArgumentException
- If the values are not a valid representation of aDuration
: if all the fields (years, months, ...) are null or if any of the fields is negative. -
UnsupportedOperationException
- If implementation cannot support requested values.
newDuration
public Duration newDuration(boolean isPositive, int years, int months, int days, int hours, int minutes, int seconds)
Obtain a new instance of a
Duration
specifying theDuration
as isPositive, years, months, days, hours, minutes, seconds.A
DatatypeConstants.FIELD_UNDEFINED
value indicates that field is not set.- Parameters:
-
isPositive
- Set tofalse
to create a negative duration. When the length of the duration is zero, this parameter will be ignored. -
years
- of thisDuration
-
months
- of thisDuration
-
days
- of thisDuration
-
hours
- of thisDuration
-
minutes
- of thisDuration
-
seconds
- of thisDuration
- Returns:
-
New
Duration
created from the specified values. - Throws:
-
IllegalArgumentException
- If the values are not a valid representation of aDuration
: if any of the fields is negative. - See Also:
-
newDuration( boolean isPositive, BigInteger years, BigInteger months, BigInteger days, BigInteger hours, BigInteger minutes, BigDecimal seconds)
newDurationDayTime
public Duration newDurationDayTime(String lexicalRepresentation)
Create a
Duration
of typexdt:dayTimeDuration
by parsing itsString
representation, "PnDTnHnMnS", XQuery 1.0 and XPath 2.0 Data Model, xdt:dayTimeDuration.The datatype
xdt:dayTimeDuration
is a subtype ofxs:duration
whose lexical representation contains only day, hour, minute, and second components. This datatype resides in the namespacehttp://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
- Lexical representation of a duration. - Returns:
-
New
Duration
created using the specifiedlexicalRepresentation
. - Throws:
-
IllegalArgumentException
- IflexicalRepresentation
is not a valid representation of aDuration
expressed only in terms of days and time. -
UnsupportedOperationException
- If implementation cannot support requested values. -
NullPointerException
- IflexicalRepresentation
isnull
.
newDurationDayTime
public Duration newDurationDayTime(long durationInMilliseconds)
Create a
Duration
of typexdt: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 ofxs:duration
whose lexical representation contains only day, hour, minute, and second components. This datatype resides in the namespacehttp://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 createdDuration
. The values conform to and are defined by:- ISO 8601:2000(E) Section 5.5.3.2 Alternative format
- W3C XML Schema 1.0 Part 2, Appendix D, ISO 8601 Date and Time Formats
XMLGregorianCalendar
Date/Time Datatype Field Mapping Between XML Schema 1.0 and Java Representation
The default start instance is defined by
GregorianCalendar
's use of the start of the epoch: i.e.,Calendar.YEAR
= 1970,Calendar.MONTH
=Calendar.JANUARY
,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 =Calendar.FEBRUARY
so the result ofDuration.getDays()
can be influenced.Any remaining milliseconds after determining the day, hour, minute and second are discarded.
- Parameters:
-
durationInMilliseconds
- Milliseconds ofDuration
to create. - Returns:
-
New
Duration
created with the specifieddurationInMilliseconds
. - See Also:
- XQuery 1.0 and XPath 2.0 Data Model, xdt:dayTimeDuration
newDurationDayTime
public Duration newDurationDayTime(boolean isPositive, BigInteger day, BigInteger hour, BigInteger minute, BigInteger second)
Create a
Duration
of typexdt:dayTimeDuration
using the specifiedday
,hour
,minute
andsecond
as defined in XQuery 1.0 and XPath 2.0 Data Model, xdt:dayTimeDuration.The datatype
xdt:dayTimeDuration
is a subtype ofxs:duration
whose lexical representation contains only day, hour, minute, and second components. This datatype resides in the namespacehttp://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
- Set tofalse
to create a negative duration. When the length of the duration is zero, this parameter will be ignored. -
day
- Day ofDuration
. -
hour
- Hour ofDuration
. -
minute
- Minute ofDuration
. -
second
- Second ofDuration
. - Returns:
-
New
Duration
created with the specifiedday
,hour
,minute
andsecond
. - Throws:
-
IllegalArgumentException
- If the values are not a valid representation of aDuration
: if all the fields (day, hour, ...) are null or if any of the fields is negative. -
UnsupportedOperationException
- If implementation cannot support requested values.
newDurationDayTime
public Duration newDurationDayTime(boolean isPositive, int day, int hour, int minute, int second)
Create a
Duration
of typexdt:dayTimeDuration
using the specifiedday
,hour
,minute
andsecond
as defined in XQuery 1.0 and XPath 2.0 Data Model, xdt:dayTimeDuration.The datatype
xdt:dayTimeDuration
is a subtype ofxs:duration
whose lexical representation contains only day, hour, minute, and second components. This datatype resides in the namespacehttp://www.w3.org/2003/11/xpath-datatypes
.A
DatatypeConstants.FIELD_UNDEFINED
value indicates that field is not set.- Parameters:
-
isPositive
- Set tofalse
to create a negative duration. When the length of the duration is zero, this parameter will be ignored. -
day
- Day ofDuration
. -
hour
- Hour ofDuration
. -
minute
- Minute ofDuration
. -
second
- Second ofDuration
. - Returns:
-
New
Duration
created with the specifiedday
,hour
,minute
andsecond
. - Throws:
-
IllegalArgumentException
- If the values are not a valid representation of aDuration
: if any of the fields (day, hour, ...) is negative.
newDurationYearMonth
public Duration newDurationYearMonth(String lexicalRepresentation)
Create a
Duration
of typexdt:yearMonthDuration
by parsing itsString
representation, "PnYnM", XQuery 1.0 and XPath 2.0 Data Model, xdt:yearMonthDuration.The datatype
xdt:yearMonthDuration
is a subtype ofxs:duration
whose lexical representation contains only year and month components. This datatype resides in the namespaceXMLConstants.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
- Lexical representation of a duration. - Returns:
-
New
Duration
created using the specifiedlexicalRepresentation
. - Throws:
-
IllegalArgumentException
- IflexicalRepresentation
is not a valid representation of aDuration
expressed only in terms of years and months. -
UnsupportedOperationException
- If implementation cannot support requested values. -
NullPointerException
- IflexicalRepresentation
isnull
.
newDurationYearMonth
public Duration newDurationYearMonth(long durationInMilliseconds)
Create a
Duration
of typexdt: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 ofxs:duration
whose lexical representation contains only year and month components. This datatype resides in the namespaceXMLConstants.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 createdDuration
. The values conform to and are defined by:- ISO 8601:2000(E) Section 5.5.3.2 Alternative format
- W3C XML Schema 1.0 Part 2, Appendix D, ISO 8601 Date and Time Formats
XMLGregorianCalendar
Date/Time Datatype Field Mapping Between XML Schema 1.0 and Java Representation
The default start instance is defined by
GregorianCalendar
's use of the start of the epoch: i.e.,Calendar.YEAR
= 1970,Calendar.MONTH
=Calendar.JANUARY
,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 =Calendar.FEBRUARY
so the result ofDuration.getMonths()
can be influenced.Any remaining milliseconds after determining the year and month are discarded.
- Parameters:
-
durationInMilliseconds
- Milliseconds ofDuration
to create. - Returns:
-
New
Duration
created using the specifieddurationInMilliseconds
.
newDurationYearMonth
public Duration newDurationYearMonth(boolean isPositive, BigInteger year, BigInteger month)
Create a
Duration
of typexdt:yearMonthDuration
using the specifiedyear
andmonth
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
- Set tofalse
to create a negative duration. When the length of the duration is zero, this parameter will be ignored. -
year
- Year ofDuration
. -
month
- Month ofDuration
. - Returns:
-
New
Duration
created using the specifiedyear
andmonth
. - Throws:
-
IllegalArgumentException
- If the values are not a valid representation of aDuration
: if all of the fields (year, month) are null or if any of the fields is negative. -
UnsupportedOperationException
- If implementation cannot support requested values.
newDurationYearMonth
public Duration newDurationYearMonth(boolean isPositive, int year, int month)
Create a
Duration
of typexdt:yearMonthDuration
using the specifiedyear
andmonth
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
- Set tofalse
to create a negative duration. When the length of the duration is zero, this parameter will be ignored. -
year
- Year ofDuration
. -
month
- Month ofDuration
. - Returns:
-
New
Duration
created using the specifiedyear
andmonth
. - Throws:
-
IllegalArgumentException
- If the values are not a valid representation of aDuration
: if any of the fields (year, month) is negative.
newXMLGregorianCalendar
public abstract XMLGregorianCalendar newXMLGregorianCalendar()
Create a new instance of an
XMLGregorianCalendar
.All date/time datatype fields set to
DatatypeConstants.FIELD_UNDEFINED
or null.- Returns:
-
New
XMLGregorianCalendar
with all date/time datatype fields set toDatatypeConstants.FIELD_UNDEFINED
or null.
newXMLGregorianCalendar
public abstract XMLGregorianCalendar newXMLGregorianCalendar(String lexicalRepresentation)
Create a new XMLGregorianCalendar by parsing the String as a lexical representation.
Parsing the lexical string representation is defined in XML Schema 1.0 Part 2, Section 3.2.[7-14].1, Lexical Representation.
The string representation may not have any leading and trailing whitespaces.
The parsing is done field by field so that the following holds for any lexically correct String x:
newXMLGregorianCalendar(x).toXMLFormat().equals(x)
Except for the noted lexical/canonical representation mismatches listed in XML Schema 1.0 errata, Section 3.2.7.2.
- Parameters:
-
lexicalRepresentation
- Lexical representation of one the eight XML Schema date/time datatypes. - Returns:
-
XMLGregorianCalendar
created from thelexicalRepresentation
. - Throws:
-
IllegalArgumentException
- If thelexicalRepresentation
is not a validXMLGregorianCalendar
. -
NullPointerException
- IflexicalRepresentation
isnull
.
newXMLGregorianCalendar
public abstract XMLGregorianCalendar newXMLGregorianCalendar(GregorianCalendar cal)
Create an
XMLGregorianCalendar
from aGregorianCalendar
.Field by Field Conversion from GregorianCalendar
to anXMLGregorianCalendar
java.util.GregorianCalendar
fieldjavax.xml.datatype.XMLGregorianCalendar
fieldERA == 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 ajava.util.TimeZone
with a custom timezone id using thethis.getTimezone()
. - else use the
GregorianCalendar
default timezone value for the host is defined as specified byjava.util.TimeZone.getDefault()
.
- Parameters:
-
cal
-java.util.GregorianCalendar
used to createXMLGregorianCalendar
- Returns:
-
XMLGregorianCalendar
created fromjava.util.GregorianCalendar
- Throws:
-
NullPointerException
- Ifcal
isnull
.
- when
newXMLGregorianCalendar
public abstract XMLGregorianCalendar newXMLGregorianCalendar(BigInteger year, int month, int day, int hour, int minute, int second, BigDecimal fractionalSecond, int timezone)
Constructor allowing for complete value spaces allowed by W3C XML Schema 1.0 recommendation for xsd:dateTime and related builtin datatypes. Note that
year
parameter supports arbitrarily large numbers and fractionalSecond has infinite precision.A
null
value indicates that field is not set.- Parameters:
-
year
- ofXMLGregorianCalendar
to be created. -
month
- ofXMLGregorianCalendar
to be created. -
day
- ofXMLGregorianCalendar
to be created. -
hour
- ofXMLGregorianCalendar
to be created. -
minute
- ofXMLGregorianCalendar
to be created. -
second
- ofXMLGregorianCalendar
to be created. -
fractionalSecond
- ofXMLGregorianCalendar
to be created. -
timezone
- ofXMLGregorianCalendar
to be created. - Returns:
-
XMLGregorianCalendar
created from specified values. - Throws:
-
IllegalArgumentException
- If any individual parameter's value is outside the maximum value constraint for the field as determined by the Date/Time Data Mapping table inXMLGregorianCalendar
or if the composite values constitute an invalidXMLGregorianCalendar
instance as determined byXMLGregorianCalendar.isValid()
.
newXMLGregorianCalendar
public XMLGregorianCalendar newXMLGregorianCalendar(int year, int month, int day, int hour, int minute, int second, int millisecond, int timezone)
Constructor of value spaces that a
java.util.GregorianCalendar
instance would need to convert to anXMLGregorianCalendar
instance.XMLGregorianCalendar eon
andfractionalSecond
are set tonull
A
DatatypeConstants.FIELD_UNDEFINED
value indicates that field is not set.- Parameters:
-
year
- ofXMLGregorianCalendar
to be created. -
month
- ofXMLGregorianCalendar
to be created. -
day
- ofXMLGregorianCalendar
to be created. -
hour
- ofXMLGregorianCalendar
to be created. -
minute
- ofXMLGregorianCalendar
to be created. -
second
- ofXMLGregorianCalendar
to be created. -
millisecond
- ofXMLGregorianCalendar
to be created. -
timezone
- ofXMLGregorianCalendar
to be created. - Returns:
-
XMLGregorianCalendar
created from specified values. - Throws:
-
IllegalArgumentException
- If any individual parameter's value is outside the maximum value constraint for the field as determined by the Date/Time Data Mapping table inXMLGregorianCalendar
or if the composite values constitute an invalidXMLGregorianCalendar
instance as determined byXMLGregorianCalendar.isValid()
.
newXMLGregorianCalendarDate
public XMLGregorianCalendar newXMLGregorianCalendarDate(int year, int month, int day, int timezone)
Create a Java representation of XML Schema builtin datatype
date
org*
.For example, an instance of
gYear
can be created invoking this factory withmonth
andday
parameters set toDatatypeConstants.FIELD_UNDEFINED
.A
DatatypeConstants.FIELD_UNDEFINED
value indicates that field is not set.- Parameters:
-
year
- ofXMLGregorianCalendar
to be created. -
month
- ofXMLGregorianCalendar
to be created. -
day
- ofXMLGregorianCalendar
to be created. -
timezone
- offset in minutes.DatatypeConstants.FIELD_UNDEFINED
indicates optional field is not set. - Returns:
-
XMLGregorianCalendar
created from parameter values. - Throws:
-
IllegalArgumentException
- If any individual parameter's value is outside the maximum value constraint for the field as determined by the Date/Time Data Mapping table inXMLGregorianCalendar
or if the composite values constitute an invalidXMLGregorianCalendar
instance as determined byXMLGregorianCalendar.isValid()
. - See Also:
-
DatatypeConstants.FIELD_UNDEFINED
newXMLGregorianCalendarTime
public XMLGregorianCalendar newXMLGregorianCalendarTime(int hours, int minutes, int seconds, int timezone)
Create a Java instance of XML Schema builtin datatype
time
.A
DatatypeConstants.FIELD_UNDEFINED
value indicates that field is not set.- Parameters:
-
hours
- number of hours -
minutes
- number of minutes -
seconds
- number of seconds -
timezone
- offset in minutes.DatatypeConstants.FIELD_UNDEFINED
indicates optional field is not set. - Returns:
-
XMLGregorianCalendar
created from parameter values. - Throws:
-
IllegalArgumentException
- If any individual parameter's value is outside the maximum value constraint for the field as determined by the Date/Time Data Mapping table inXMLGregorianCalendar
or if the composite values constitute an invalidXMLGregorianCalendar
instance as determined byXMLGregorianCalendar.isValid()
. - See Also:
-
DatatypeConstants.FIELD_UNDEFINED
newXMLGregorianCalendarTime
public XMLGregorianCalendar newXMLGregorianCalendarTime(int hours, int minutes, int seconds, BigDecimal fractionalSecond, int timezone)
Create a Java instance of XML Schema builtin datatype time.
A
null
value indicates that field is not set.A
DatatypeConstants.FIELD_UNDEFINED
value indicates that field is not set.- Parameters:
-
hours
- number of hours -
minutes
- number of minutes -
seconds
- number of seconds -
fractionalSecond
- value ofnull
indicates that this optional field is not set. -
timezone
- offset in minutes.DatatypeConstants.FIELD_UNDEFINED
indicates optional field is not set. - Returns:
-
XMLGregorianCalendar
created from parameter values. - Throws:
-
IllegalArgumentException
- If any individual parameter's value is outside the maximum value constraint for the field as determined by the Date/Time Data Mapping table inXMLGregorianCalendar
or if the composite values constitute an invalidXMLGregorianCalendar
instance as determined byXMLGregorianCalendar.isValid()
. - See Also:
-
DatatypeConstants.FIELD_UNDEFINED
newXMLGregorianCalendarTime
public XMLGregorianCalendar newXMLGregorianCalendarTime(int hours, int minutes, int seconds, int milliseconds, int timezone)
Create a Java instance of XML Schema builtin datatype time.
A
DatatypeConstants.FIELD_UNDEFINED
value indicates that field is not set.- Parameters:
-
hours
- number of hours -
minutes
- number of minutes -
seconds
- number of seconds -
milliseconds
- number of milliseconds -
timezone
- offset in minutes.DatatypeConstants.FIELD_UNDEFINED
indicates optional field is not set. - Returns:
-
XMLGregorianCalendar
created from parameter values. - Throws:
-
IllegalArgumentException
- If any individual parameter's value is outside the maximum value constraint for the field as determined by the Date/Time Data Mapping table inXMLGregorianCalendar
or if the composite values constitute an invalidXMLGregorianCalendar
instance as determined byXMLGregorianCalendar.isValid()
. - See Also:
-
DatatypeConstants.FIELD_UNDEFINED
-
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2022, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.