org.exolab.castor.types
public abstract class DateTimeBase extends Object implements Serializable
The base class for date/time XML Schema types.
The validation of the date/time fields is done in the set methods and follows the ISO8601 Date and Time Format.
Note: the castor date/time type are mutable, unlike the date/time types of the JDK in Java2. This is needed by the Marshalling framework.
Version: $Revision: 1.1.1.1 $
See Also: Date Time
| Field Summary | |
|---|---|
| static int | EQUALS |
| static int | GREATER_THAN |
| static int | INDETERMINATE
Fields used for comparison methods |
| static int | LESS_THAN |
| protected static String | WRONGLY_PLACED |
| Method Summary | |
|---|---|
| void | addDuration(Duration duration) Adds a Duration to this Date/Time type as defined in Adding Duration to dateTimes (W3C XML Schema, part 2 appendix E). This version is using the algorithm defined in the document from W3C, next version may optimize it. |
| int | compareTo(DateTimeBase dateTime) Compares two date/time data types. |
| protected boolean | equal(DateTimeBase dateTime) Returns true if the present instance of date/time type is equal to the parameter. |
| boolean | equals(Object object)
Overrides the java.lang.Object#equals method |
| short | getCentury() |
| short | getDay() |
| short | getHour() |
| short | getMilli() |
| short | getMinute() |
| short | getMonth() |
| short | getSeconds() |
| abstract short[] | getValues()
returns an array of short with all the fields that describe
a date/time type. |
| short | getYear() |
| short | getZoneHour() |
| short | getZoneMinute() |
| int | hashCode()
Overrides the java.lang.Object#hashcode method. |
| boolean | isLeap(int year)
Returns true if the given year represents a leap year
A specific year is a leap year if it is either evenly
divisible by 400 OR evenly divisible by 4 and not evenly divisible by 100 |
| boolean | isNegative() |
| boolean | isUTC()
return true if this date/time type is UTC.
|
| boolean | isZoneNegative() |
| void | normalize() Normalizes a date/time datatype as defined in W3C XML Schema Recommendation document: if a timeZone is present but it is not Z then we convert the date/time datatype to Z using the addition operation defined in Adding Duration to dateTimes (W3C XML Schema, part 2 appendix E). |
| void | setCentury(short century)
set the century field |
| void | setDay(short day)
set the Day Field |
| void | setHour(short hour)
set the hour field for this date/time type. |
| void | setMilliSecond(short millisecond)
Sets the millisecond field for this date/time type |
| void | setMinute(short minute)
set the minute field for this date/time type. |
| void | setMonth(short month)
set the Month Field |
| void | setNegative()
set the negative field to true |
| void | setSecond(short second, short millsecond)
set the second field for this date/time type |
| void | setSecond(short second)
Sets the second field for this date/time type |
| void | setUTC()
set the UTC field. |
| abstract void | setValues(short[] values)
Sets all the fields by reading the values in an array |
| void | setYear(short year)
set the Year field
Note: 0000 is not allowed |
| void | setZone(short hour, short minute)
Sets the time zone fields for this date/time type.
|
| void | setZoneHour(short hour)
Sets the time zone hour field for this date/time type.
|
| void | setZoneMinute(short minute)
Sets the time zone minute field for this date/time type.
|
| void | setZoneNegative(boolean zoneNegative)
set the time zone negative field to true |
| Calendar | toCalendar()
converts this Date/Time into a local java Calendar. |
| abstract Date | toDate()
Returns a java.util.Date that represents
the XML Schema Date datatype |
Adds a Duration to this Date/Time type as defined in Adding Duration to dateTimes (W3C XML Schema, part 2 appendix E). This version is using the algorithm defined in the document from W3C, next version may optimize it.
Parameters: Duration the duration to add
Compares two date/time data types. The algorithm of comparison is defined in W3C XML Schema Recommendation (section 3.2.7.3)
The returned values can be:
Parameters: dateTime the dateTime to compare with the current instance.
Returns:
Returns true if the present instance of date/time type is equal to the parameter.
The equals relation is as defined in the W3C XML Schema Recommendation, part2.
Parameters: dateTime the date/time type to compare with the present instance
Returns: true if the present instance is equal to the parameter false if not
See Also: DateTimeBase
Returns: an array of short with all the fields that describe a date/time type.
Parameters: year the year to test.
Returns: true if the given year represents a leap year
UNKNOWN: true if this recurringDuration type is UTC else false
Normalizes a date/time datatype as defined in W3C XML Schema Recommendation document: if a timeZone is present but it is not Z then we convert the date/time datatype to Z using the addition operation defined in Adding Duration to dateTimes (W3C XML Schema, part 2 appendix E).
See Also: DateTimeBase
Parameters: century the value to set up
Parameters: day the value to set up Note a validation is done on the day field
Parameters: hour the hour to set
Throws: OperationNotSupportedException this exception is thrown when changing the value of the hour field is not allowed
Parameters: millsecond the millisecond to set
Throws: OperationNotSupportedException this exception is thrown when changing the value of the second field is not allowed
Parameters: minute the minute to set.
Throws: OperationNotSupportedException this exception is thrown when changing the value of the minute field is not allowed
Parameters: month the value to set up
Note 1
Parameters: second the second to set millsecond the millisecond to set
Throws: OperationNotSupportedException this exception is thrown when changing the value of the second field is not allowed
Parameters: second the second to set
Throws: OperationNotSupportedException this exception is thrown when changing the value of the second field is not allowed
Parameters: values an array of shorts with the values
Parameters: the year to set up
Parameters: hour the time zone hour to set minute the time zone minute to set
Throws: OperationNotSupportedException this exception is thrown when changing the value of the time zone fields is not allowed
Parameters: hour the time zone hour to set
Throws: OperationNotSupportedException this exception is thrown when changing the value of the time zone fields is not allowed
Parameters: minute the time zone minute to set
Throws: OperationNotSupportedException this exception is thrown when changing the value of the time zone fields is not allowed
Throws: OperationNotSupportedException this exception is thrown when changing the time zone fields is not allowed
Returns: a local calendar representing this Date or Time