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.2 $
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: millisecond 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: year 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