Prev Class | Next Class | Frames | No Frames |
Summary: Nested | Field | Method | Constr | Detail: Nested | Field | Method | Constr |
java.lang.Object
org.exolab.castor.mapping.loader.FieldHandlerFriend
org.exolab.castor.mapping.ExtendedFieldHandler
org.exolab.castor.mapping.AbstractFieldHandler
org.exolab.castor.xml.XMLFieldHandler
org.exolab.castor.xml.handlers.DateFieldHandler
public class DateFieldHandler
extends XMLFieldHandler
Nested Class Summary | |
(package private) static class |
|
Field Summary |
Fields inherited from class org.exolab.castor.mapping.AbstractFieldHandler | |
configuration |
Constructor Summary | |
|
Method Summary | |
boolean |
|
protected static String |
|
Object |
|
Object |
|
protected static Date |
|
protected static Date |
|
void |
|
static void |
|
static void |
|
static void |
|
void |
|
void |
|
Methods inherited from class org.exolab.castor.xml.XMLFieldHandler | |
equals , getValue , newInstance , newInstance , resetValue , setValue |
Methods inherited from class org.exolab.castor.mapping.AbstractFieldHandler | |
getFieldDescriptor , getValue , hasValue , newInstance , newInstance , resetValue , setConfiguration , setFieldDescriptor , setValue |
Methods inherited from class org.exolab.castor.mapping.ExtendedFieldHandler | |
checkValidity , getFieldDescriptor , getValue , newInstance , newInstance , resetValue , setFieldDescriptor , setValue |
Methods inherited from class org.exolab.castor.mapping.loader.FieldHandlerFriend | |
checkValidity , getFieldDescriptor , getValue , newInstance , resetValue , setFieldDescriptor , setValue |
public DateFieldHandler(FieldHandler fieldHandler)
Creates a new DateFieldHandler using the given FieldHandler for delegation.
- Parameters:
fieldHandler
- the fieldHandler for delegation.
public boolean equals(Object obj)
Returns true if the given object is an XMLFieldHandler that is equivalent to the delegated handler. An equivalent XMLFieldHandler is an XMLFieldHandler that is an instances of the same class.
- Overrides:
- equals in interface XMLFieldHandler
- Parameters:
obj
- The object to compare againstthis
- Returns:
- true if the given object is an XMLFieldHandler that is equivalent to this one.
protected static String format(Date date)
Returns the given date in a String format, using the ISO8601 format as specified in the W3C XML Schema 1.0 Recommendation (Part 2: Datatypes) for dateTime.
- Parameters:
date
- the Date to format
- Returns:
- the formatted string
public Object getValue(Object target)
Returns the value of the field associated with this descriptor from the given target object.
- Specified by:
- getValue in interface FieldHandler
- Overrides:
- getValue in interface XMLFieldHandler
- Parameters:
target
- the object to get the value from
- Returns:
- the value of the field associated with this descriptor from the given target object.
public Object newInstance(Object parent) throws IllegalStateException
Creates a new instance of the object described by this field.
- Specified by:
- newInstance in interface FieldHandler
- Overrides:
- newInstance in interface XMLFieldHandler
- Parameters:
parent
- The object for which the field is created
- Returns:
- A new instance of the field's value
protected static Date parse(String dateTime) throws ParseException
Parses the given string, which must be in the following format: CCYY-MM-DDThh:mm:ss or CCYY-MM-DDThh:mm:ss.sss where "CC" represents the century, "YY" the year, "MM" the month and "DD" the day. The letter "T" is the date/time separator and "hh", "mm", "ss" represent hour, minute and second respectively. CCYY represents the Year and each 'C' and 'Y' must be a digit from 0-9. A minimum of 4 digits must be present. MM represents the month and each 'M' must be a digit from 0-9, but together "MM" must not represent a value greater than 12. "MM" must be 2 digits, use of leading zero is required for all values less than 10. DD represents the day of the month and each 'D' must be a digit from 0-9. DD must be 2 digits (use a leading zero if necessary) and must not be greater than 31. 'T' is the date/time separator and must exist! hh represents the hour using 0-23. mm represents the minute using 0-59. ss represents the second using 0-60. (60 for leap second) sss represents the millisecond using 0-999.
- Parameters:
dateTime
- the string to convert to a Date
- Returns:
- a new Date that represents the given string.
protected static Date parse(String dateTime, DateFieldHandler.ParseOptions options) throws ParseException
Parses the given string, which must be in the following format: CCYY-MM-DDThh:mm:ss or CCYY-MM-DDThh:mm:ss.sss where "CC" represents the century, "YY" the year, "MM" the month and "DD" the day. The letter "T" is the date/time separator and "hh", "mm", "ss" represent hour, minute and second respectively. CCYY represents the Year and each 'C' and 'Y' must be a digit from 0-9. A minimum of 4 digits must be present. MM represents the month and each 'M' must be a digit from 0-9, but together "MM" must not represent a value greater than 12. "MM" must be 2 digits, use of leading zero is required for all values less than 10. DD represents the day of the month and each 'D' must be a digit from 0-9. DD must be 2 digits (use a leading zero if necessary) and must not be greater than 31. 'T' is the date/time separator and must exist! hh represents the hour using 0-23. mm represents the minute using 0-59. ss represents the second using 0-60. (60 for leap second) sss represents the millisecond using 0-999.
- Parameters:
dateTime
- the string to convert to a Dateoptions
- the parsing options to use
- Returns:
- a new Date that represents the given string.
public void resetValue(Object target) throws java.lang.IllegalStateException
Sets the value of the field to a default value.
- Specified by:
- resetValue in interface FieldHandler
- Overrides:
- resetValue in interface XMLFieldHandler
- Parameters:
target
- The object
public static void setAllowTimeZoneSuppression(boolean allowTimeZoneSuppression)
Sets whether or not the time zone should always be displayed when marshaling xsd:dateTime values. If true, then the time zone will not be displayed if the time zone is the current local time zone.
- Parameters:
allowTimeZoneSuppression
- if true, the time zone will not be displayed if it is the current local time zone.
public static void setDefaultTimeZone(TimeZone timeZone)
Sets the default TimeZone used for comparing dates when marshaling xsd:dateTime values using this handler. This is used when determining if the timezone can be omitted when marshaling. Default is JVM default returned by TimeZone.getDefault()
- Parameters:
timeZone
- TimeZone to use instead of JVM default
- See Also:
setAllowTimeZoneSuppression(boolean)
public static void setSuppressMillis(boolean suppressMillis)
Sets a flag indicating whether or not Milliseconds should be suppressed upon formatting a dateTime as a String.
- Parameters:
suppressMillis
- a boolean when true indicates that millis should be suppressed during conversion of a dateTime to a String
public void setUseSQLDate(boolean useSQLDate)
Specifies that this DateFieldHandler should use java.sql.Date when creating new Date instances.
- Parameters:
useSQLDate
- a boolean that when true indicates that java.sql.Date should be used instead of java.util.Date.
public void setValue(Object target, Object value) throws java.lang.IllegalStateException
Sets the value of the field associated with this descriptor.
- Specified by:
- setValue in interface FieldHandler
- Overrides:
- setValue in interface XMLFieldHandler
- Parameters:
target
- the object in which to set the valuevalue
- the value of the field