|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.commons.beanutils.converters.AbstractConverter
org.apache.commons.beanutils.converters.DateTimeConverter
public class DateTimeConverter
Converter
implementaion
that handles conversion to and from date/time objects.
This implementation handles conversion for the following date/time types.
java.util.Date
java.util.Calendar
java.sql.Date
java.sql.Time
java.sql.Timestamp
setUseLocaleFormat(true)
setLocale(Locale)
setPattern(String)
or
setPatterns(String[])
setPattern(String)
or
setPatterns(String[]) and...
setLocale(Locale)
toDate(String)
method is used to convert
from String to Date and the Dates's
toString()
method used to convert from
Date to String.
The Time Zone to use with the date format can be specified
using the setTimeZone()
method.
Field Summary | |
---|---|
private java.lang.String |
displayPatterns
|
private java.util.Locale |
locale
|
private java.lang.String[] |
patterns
|
private java.util.TimeZone |
timeZone
|
private boolean |
useLocaleFormat
|
Constructor Summary | |
---|---|
DateTimeConverter(java.lang.Class defaultType)
Construct a Date/Time Converter that throws a ConversionException if an error occurs. |
|
DateTimeConverter(java.lang.Class defaultType,
java.lang.Object defaultValue)
Construct a Date/Time Converter that returns a default value if an error occurs. |
Method Summary | |
---|---|
protected java.lang.String |
convertToString(java.lang.Object value)
Convert an input Date/Calendar object into a String. |
protected java.lang.Object |
convertToType(java.lang.Class targetType,
java.lang.Object value)
Convert the input object into a Date object of the specified type. |
protected java.text.DateFormat |
getFormat(java.util.Locale locale,
java.util.TimeZone timeZone)
Return a DateFormat |
private java.text.DateFormat |
getFormat(java.lang.String pattern)
Create a date format for the specified pattern. |
java.util.Locale |
getLocale()
Return the Locale for the Converter (or null if none specified). |
java.lang.String[] |
getPatterns()
Return the date format patterns used to convert dates to/from a java.lang.String
(or null if none specified). |
java.util.TimeZone |
getTimeZone()
Return the Time Zone to use when converting dates (or null if none specified. |
private void |
logFormat(java.lang.String action,
java.text.DateFormat format)
Log the DateFormat |
private java.util.Calendar |
parse(java.lang.Class sourceType,
java.lang.Class targetType,
java.lang.String value)
Parse a String date value using the set of patterns. |
private java.util.Calendar |
parse(java.lang.Class sourceType,
java.lang.Class targetType,
java.lang.String value,
java.text.DateFormat format)
Parse a String into a Calendar object
using the specified DateFormat . |
void |
setLocale(java.util.Locale locale)
Set the Locale for the Converter. |
void |
setPattern(java.lang.String pattern)
Set a date format pattern to use to convert dates to/from a java.lang.String . |
void |
setPatterns(java.lang.String[] patterns)
Set the date format patterns to use to convert dates to/from a java.lang.String . |
void |
setTimeZone(java.util.TimeZone timeZone)
Set the Time Zone to use when converting dates. |
void |
setUseLocaleFormat(boolean useLocaleFormat)
Indicate whether conversion should use a format/pattern or not. |
private java.lang.Object |
toDate(java.lang.Class type,
long value)
Convert a long value to the specified Date type for this Converter. |
private java.lang.Object |
toDate(java.lang.Class type,
java.lang.String value)
Default String to Date conversion. |
java.lang.String |
toString()
Provide a String representation of this date/time converter. |
Methods inherited from class org.apache.commons.beanutils.converters.AbstractConverter |
---|
convert, convertArray, getDefault, getDefaultType, handleError, handleMissing, isUseDefault, log, primitive, setDefaultValue, toString |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
private java.lang.String[] patterns
private java.lang.String displayPatterns
private java.util.Locale locale
private java.util.TimeZone timeZone
private boolean useLocaleFormat
Constructor Detail |
---|
public DateTimeConverter(java.lang.Class defaultType)
ConversionException
if an error occurs.
defaultType
- The default type this Converter
handlespublic DateTimeConverter(java.lang.Class defaultType, java.lang.Object defaultValue)
defaultType
- The default type this Converter
handlesdefaultValue
- The default value to be returned
if the value to be converted is missing or an error
occurs converting the value.Method Detail |
---|
public void setUseLocaleFormat(boolean useLocaleFormat)
useLocaleFormat
- true
if the format
for the locale should be used, otherwise false
public java.util.TimeZone getTimeZone()
null
if none specified.
public void setTimeZone(java.util.TimeZone timeZone)
timeZone
- The Time Zone.public java.util.Locale getLocale()
null
if none specified).
public void setLocale(java.util.Locale locale)
locale
- The Locale.public void setPattern(java.lang.String pattern)
java.lang.String
.
pattern
- The format pattern.SimpleDateFormat
public java.lang.String[] getPatterns()
java.lang.String
(or null
if none specified).
SimpleDateFormat
public void setPatterns(java.lang.String[] patterns)
java.lang.String
.
patterns
- Array of format patterns.SimpleDateFormat
protected java.lang.String convertToString(java.lang.Object value) throws java.lang.Throwable
N.B.If the converter has been configured to with
one or more patterns (using setPatterns()
), then
the first pattern will be used to format the date into a String.
Otherwise the default DateFormat
for the default locale
(and style if configured) will be used.
convertToString
in class AbstractConverter
value
- The input value to be converted
java.lang.Throwable
- if an error occurs converting to a Stringprotected java.lang.Object convertToType(java.lang.Class targetType, java.lang.Object value) throws java.lang.Exception
This method handles conversions between the following types:
java.util.Date
java.util.Calendar
java.sql.Date
java.sql.Time
java.sql.Timestamp
String
to
any of the above types.
For String
conversion, if the converter has been configured
with one or more patterns (using setPatterns()
), then
the conversion is attempted with each of the specified patterns.
Otherwise the default DateFormat
for the default locale
(and style if configured) will be used.
convertToType
in class AbstractConverter
targetType
- Data type to which this value should be converted.value
- The input value to be converted.
java.lang.Exception
- if conversion cannot be performed successfullyprivate java.lang.Object toDate(java.lang.Class type, long value)
This method handles conversion to the following types:
java.util.Date
java.util.Calendar
java.sql.Date
java.sql.Time
java.sql.Timestamp
type
- The Date type to convert tovalue
- The long value to convert.
private java.lang.Object toDate(java.lang.Class type, java.lang.String value)
This method handles conversion from a String to the following types:
java.sql.Date
java.sql.Time
java.sql.Timestamp
N.B. No default String conversion
mechanism is provided for java.util.Date
and java.util.Calendar
type.
type
- The Number type to convert tovalue
- The String value to convert.
protected java.text.DateFormat getFormat(java.util.Locale locale, java.util.TimeZone timeZone)
DateFormat for the Locale.
- Parameters:
locale
- The Locale to create the Format with (may be null)timeZone
- The Time Zone create the Format with (may be null)
- Returns:
- A Date Format.
private java.text.DateFormat getFormat(java.lang.String pattern)
pattern
- The date pattern
private java.util.Calendar parse(java.lang.Class sourceType, java.lang.Class targetType, java.lang.String value) throws java.lang.Exception
sourceType
- The type of the value being convertedtargetType
- The type to convert the value to.value
- The String date value.
java.lang.Exception
- if an error occurs parsing the date.private java.util.Calendar parse(java.lang.Class sourceType, java.lang.Class targetType, java.lang.String value, java.text.DateFormat format)
Calendar
object
using the specified DateFormat
.
sourceType
- The type of the value being convertedtargetType
- The type to convert the value tovalue
- The String date value.format
- The DateFormat to parse the String value.
ConversionException
- if the String cannot be converted.public java.lang.String toString()
toString
in class AbstractConverter
private void logFormat(java.lang.String action, java.text.DateFormat format)
DateFormat creation.
- Parameters:
action
- The action the format is being used forformat
- The Date format
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |