in src/org/apache/xerces/jaxp/datatype/XMLGregorianCalendarImpl.java [1940:2029]
public QName getXMLSchemaType() {
// DATETIME
if (year != DatatypeConstants.FIELD_UNDEFINED
&& month != DatatypeConstants.FIELD_UNDEFINED
&& day != DatatypeConstants.FIELD_UNDEFINED
&& hour != DatatypeConstants.FIELD_UNDEFINED
&& minute != DatatypeConstants.FIELD_UNDEFINED
&& second != DatatypeConstants.FIELD_UNDEFINED) {
return DatatypeConstants.DATETIME;
}
// DATE
if (year != DatatypeConstants.FIELD_UNDEFINED
&& month != DatatypeConstants.FIELD_UNDEFINED
&& day != DatatypeConstants.FIELD_UNDEFINED
&& hour == DatatypeConstants.FIELD_UNDEFINED
&& minute == DatatypeConstants.FIELD_UNDEFINED
&& second == DatatypeConstants.FIELD_UNDEFINED) {
return DatatypeConstants.DATE;
}
// TIME
if (year == DatatypeConstants.FIELD_UNDEFINED
&& month == DatatypeConstants.FIELD_UNDEFINED
&& day == DatatypeConstants.FIELD_UNDEFINED
&& hour != DatatypeConstants.FIELD_UNDEFINED
&& minute != DatatypeConstants.FIELD_UNDEFINED
&& second != DatatypeConstants.FIELD_UNDEFINED) {
return DatatypeConstants.TIME;
}
// GYEARMONTH
if (year != DatatypeConstants.FIELD_UNDEFINED
&& month != DatatypeConstants.FIELD_UNDEFINED
&& day == DatatypeConstants.FIELD_UNDEFINED
&& hour == DatatypeConstants.FIELD_UNDEFINED
&& minute == DatatypeConstants.FIELD_UNDEFINED
&& second == DatatypeConstants.FIELD_UNDEFINED) {
return DatatypeConstants.GYEARMONTH;
}
// GMONTHDAY
if (year == DatatypeConstants.FIELD_UNDEFINED
&& month != DatatypeConstants.FIELD_UNDEFINED
&& day != DatatypeConstants.FIELD_UNDEFINED
&& hour == DatatypeConstants.FIELD_UNDEFINED
&& minute == DatatypeConstants.FIELD_UNDEFINED
&& second == DatatypeConstants.FIELD_UNDEFINED) {
return DatatypeConstants.GMONTHDAY;
}
// GYEAR
if (year != DatatypeConstants.FIELD_UNDEFINED
&& month == DatatypeConstants.FIELD_UNDEFINED
&& day == DatatypeConstants.FIELD_UNDEFINED
&& hour == DatatypeConstants.FIELD_UNDEFINED
&& minute == DatatypeConstants.FIELD_UNDEFINED
&& second == DatatypeConstants.FIELD_UNDEFINED) {
return DatatypeConstants.GYEAR;
}
// GMONTH
if (year == DatatypeConstants.FIELD_UNDEFINED
&& month != DatatypeConstants.FIELD_UNDEFINED
&& day == DatatypeConstants.FIELD_UNDEFINED
&& hour == DatatypeConstants.FIELD_UNDEFINED
&& minute == DatatypeConstants.FIELD_UNDEFINED
&& second == DatatypeConstants.FIELD_UNDEFINED) {
return DatatypeConstants.GMONTH;
}
// GDAY
if (year == DatatypeConstants.FIELD_UNDEFINED
&& month == DatatypeConstants.FIELD_UNDEFINED
&& day != DatatypeConstants.FIELD_UNDEFINED
&& hour == DatatypeConstants.FIELD_UNDEFINED
&& minute == DatatypeConstants.FIELD_UNDEFINED
&& second == DatatypeConstants.FIELD_UNDEFINED) {
return DatatypeConstants.GDAY;
}
// unknown
throw new IllegalStateException(
this.getClass().getName()
+ "#getXMLSchemaType() :"
+ DatatypeMessageFormatter.formatMessage(null, "InvalidXGCFields", null)
);
}