168 * parameter's value is outside the maximum value constraint for the field. 169 * Validation checks, for example, whether days in month should be 170 * limited to 29, 30 or 31 days, that are dependent on the values of other 171 * fields are not checked by these methods. 172 * </p> 173 * 174 * <p>The following operations are defined for this class: 175 * <ul> 176 * <li>factory methods to create instances</li> 177 * <li>accessors/mutators for independent date/time fields</li> 178 * <li>conversion between this class and W3C XML Schema 1.0 lexical representation</li> 179 * <li>conversion between this class and <code>java.util.GregorianCalendar</code></li> 180 * <li>partial order relation comparator method, {@link #compare(XMLGregorianCalendar)}</li> 181 * <li>{@link #equals(Object)} defined relative to {@link #compare(XMLGregorianCalendar)}.</li> 182 * <li> addition operation with {@link javax.xml.datatype.Duration}. 183 * instance as defined in <a href="http://www.w3.org/TR/xmlschema-2/#adding-durations-to-dateTimes"> 184 * W3C XML Schema 1.0 Part 2, Appendix E, <i>Adding durations to dateTimes</i></a>.</li> 185 * </ul> 186 * </p> 187 * 188 * @author <a href="mailto:Kohsuke.Kawaguchi@Sun.com">Kohsuke Kawaguchi</a> 189 * @author <a href="mailto:Joseph.Fialli@Sun.com">Joseph Fialli</a> 190 * @author <a href="mailto:Sunitha.Reddy@Sun.com">Sunitha Reddy</a> 191 * @see javax.xml.datatype.Duration 192 * @since 1.5 193 */ 194 195 public class XMLGregorianCalendarImpl 196 extends XMLGregorianCalendar 197 implements Serializable, Cloneable { 198 199 /** Backup values **/ 200 transient private BigInteger orig_eon; 201 transient private int orig_year = DatatypeConstants.FIELD_UNDEFINED; 202 transient private int orig_month = DatatypeConstants.FIELD_UNDEFINED; 203 transient private int orig_day = DatatypeConstants.FIELD_UNDEFINED; 204 transient private int orig_hour = DatatypeConstants.FIELD_UNDEFINED; 205 transient private int orig_minute = DatatypeConstants.FIELD_UNDEFINED; 206 transient private int orig_second = DatatypeConstants.FIELD_UNDEFINED; 207 transient private BigDecimal orig_fracSeconds; 208 transient private int orig_timezone = DatatypeConstants.FIELD_UNDEFINED; 209 210 /** | 168 * parameter's value is outside the maximum value constraint for the field. 169 * Validation checks, for example, whether days in month should be 170 * limited to 29, 30 or 31 days, that are dependent on the values of other 171 * fields are not checked by these methods. 172 * </p> 173 * 174 * <p>The following operations are defined for this class: 175 * <ul> 176 * <li>factory methods to create instances</li> 177 * <li>accessors/mutators for independent date/time fields</li> 178 * <li>conversion between this class and W3C XML Schema 1.0 lexical representation</li> 179 * <li>conversion between this class and <code>java.util.GregorianCalendar</code></li> 180 * <li>partial order relation comparator method, {@link #compare(XMLGregorianCalendar)}</li> 181 * <li>{@link #equals(Object)} defined relative to {@link #compare(XMLGregorianCalendar)}.</li> 182 * <li> addition operation with {@link javax.xml.datatype.Duration}. 183 * instance as defined in <a href="http://www.w3.org/TR/xmlschema-2/#adding-durations-to-dateTimes"> 184 * W3C XML Schema 1.0 Part 2, Appendix E, <i>Adding durations to dateTimes</i></a>.</li> 185 * </ul> 186 * </p> 187 * 188 * @author Kohsuke Kawaguchi 189 * @author Joseph Fialli 190 * @author Sunitha Reddy 191 * @see javax.xml.datatype.Duration 192 * @since 1.5 193 */ 194 195 public class XMLGregorianCalendarImpl 196 extends XMLGregorianCalendar 197 implements Serializable, Cloneable { 198 199 /** Backup values **/ 200 transient private BigInteger orig_eon; 201 transient private int orig_year = DatatypeConstants.FIELD_UNDEFINED; 202 transient private int orig_month = DatatypeConstants.FIELD_UNDEFINED; 203 transient private int orig_day = DatatypeConstants.FIELD_UNDEFINED; 204 transient private int orig_hour = DatatypeConstants.FIELD_UNDEFINED; 205 transient private int orig_minute = DatatypeConstants.FIELD_UNDEFINED; 206 transient private int orig_second = DatatypeConstants.FIELD_UNDEFINED; 207 transient private BigDecimal orig_fracSeconds; 208 transient private int orig_timezone = DatatypeConstants.FIELD_UNDEFINED; 209 210 /** |