org.apache.commons.beanutils.converters
Class DateTimeConverter
- Converter
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
String Conversions (to and from)
This class provides a number of ways in which date/time
conversions to/from Strings can be achieved:
- Using the SHORT date format for the default Locale, configure using:
Using the SHORT date format for a specified Locale, configure using:
Using the specified date pattern(s) for the default Locale, configure using:
- Either
setPattern(String)
or
setPatterns(String[])
Using the specified date pattern(s) for a specified Locale, configure using:
setPattern(String)
or
setPatterns(String[]) and...
setLocale(Locale)
If none of the above are configured the
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.
$Revision: 555845 $ $Date: 2007-07-13 03:52:05 +0100 (Fri, 13 Jul 2007) $
DateTimeConverter(Class defaultType) - Construct a Date/Time Converter that throws a
ConversionException if an error occurs.
|
DateTimeConverter(Class defaultType, Object defaultValue) - Construct a Date/Time Converter that returns a default
value if an error occurs.
|
protected String | convertToString(Object value) - Convert an input Date/Calendar object into a String.
|
protected Object | convertToType(Class targetType, Object value) - Convert the input object into a Date object of the
specified type.
|
protected DateFormat | getFormat(Locale locale, TimeZone timeZone) - Return a
DateFormat for the Locale.
|
private DateFormat | getFormat(String pattern) - Create a date format for the specified pattern.
|
Locale | getLocale() - Return the Locale for the Converter
(or
null if none specified).
|
String[] | getPatterns() - Return the date format patterns used to convert
dates to/from a
java.lang.String
(or null if none specified).
|
TimeZone | getTimeZone() - Return the Time Zone to use when converting dates
(or
null if none specified.
|
private void | logFormat(String action, DateFormat format) - Log the
DateFormat creation.
|
private Calendar | parse(Class sourceType, Class targetType, String value) - Parse a String date value using the set of patterns.
|
private Calendar | parse(Class sourceType, Class targetType, String value, DateFormat format) - Parse a String into a
Calendar object
using the specified DateFormat .
|
void | setLocale(Locale locale) - Set the Locale for the Converter.
|
void | setPattern(String pattern) - Set a date format pattern to use to convert
dates to/from a
java.lang.String .
|
void | setPatterns(String[] patterns) - Set the date format patterns to use to convert
dates to/from a
java.lang.String .
|
void | setTimeZone(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 Object | toDate(Class type, String value) - Default String to Date conversion.
|
private Object | toDate(Class type, long value) - Convert a long value to the specified Date type for this
Converter.
|
String | toString() - Provide a String representation of this date/time converter.
|
convert , convertArray , convertToString , convertToType , getDefault , getDefaultType , handleError , handleMissing , isUseDefault , log , primitive , setDefaultValue , toString , toString |
displayPatterns
private String displayPatterns
locale
private Locale locale
patterns
private String[] patterns
timeZone
private TimeZone timeZone
useLocaleFormat
private boolean useLocaleFormat
DateTimeConverter
public DateTimeConverter(Class defaultType)
Construct a Date/Time Converter that throws a
ConversionException
if an error occurs.
defaultType
- The default type this Converter
handles
DateTimeConverter
public DateTimeConverter(Class defaultType,
Object defaultValue)
Construct a Date/Time Converter that returns a default
value if an error occurs.
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.
convertToString
protected String convertToString(Object value)
throws Throwable
Convert an input Date/Calendar object into a String.
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 interface AbstractConverter
value
- The input value to be converted
- the converted String value.
convertToType
protected Object convertToType(Class targetType,
Object value)
throws Exception
Convert the input object into a Date object of the
specified type.
This method handles conversions between the following
types:
java.util.Date
java.util.Calendar
java.sql.Date
java.sql.Time
java.sql.Timestamp
It also handles conversion from a
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 interface AbstractConverter
targetType
- Data type to which this value should be converted.value
- The input value to be converted.
getFormat
protected DateFormat getFormat(Locale locale,
TimeZone timeZone)
Return a DateFormat
for the Locale.
locale
- The Locale to create the Format with (may be null)timeZone
- The Time Zone create the Format with (may be null)
getFormat
private DateFormat getFormat(String pattern)
Create a date format for the specified pattern.
pattern
- The date pattern
getLocale
public Locale getLocale()
Return the Locale for the Converter
(or null
if none specified).
- The locale to use for conversion
getPatterns
public String[] getPatterns()
Return the date format patterns used to convert
dates to/from a java.lang.String
(or null
if none specified).
- Array of format patterns.
getTimeZone
public TimeZone getTimeZone()
Return the Time Zone to use when converting dates
(or null
if none specified.
logFormat
private void logFormat(String action,
DateFormat format)
Log the DateFormat
creation.
action
- The action the format is being used forformat
- The Date format
parse
private Calendar parse(Class sourceType,
Class targetType,
String value)
throws Exception
Parse a String date value using the set of patterns.
sourceType
- The type of the value being convertedtargetType
- The type to convert the value to.value
- The String date value.
- The converted Date object.
parse
private Calendar parse(Class sourceType,
Class targetType,
String value,
DateFormat format)
Parse a String into a 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.
- The converted Calendar object.
setLocale
public void setLocale(Locale locale)
Set the Locale for the Converter.
setPattern
public void setPattern(String pattern)
Set a date format pattern to use to convert
dates to/from a java.lang.String
.
pattern
- The format pattern.
setPatterns
public void setPatterns(String[] patterns)
Set the date format patterns to use to convert
dates to/from a java.lang.String
.
patterns
- Array of format patterns.
setTimeZone
public void setTimeZone(TimeZone timeZone)
Set the Time Zone to use when converting dates.
timeZone
- The Time Zone.
setUseLocaleFormat
public void setUseLocaleFormat(boolean useLocaleFormat)
Indicate whether conversion should use a format/pattern or not.
useLocaleFormat
- true
if the format
for the locale should be used, otherwise false
toDate
private Object toDate(Class type,
String value)
Default String to Date conversion.
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.
- The converted Number value.
toDate
private Object toDate(Class type,
long value)
Convert a long value to the specified Date type for this
Converter.
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.
- The converted date value.
toString
public String toString()
Provide a String representation of this date/time converter.
- toString in interface AbstractConverter
- A String representation of this date/time converter
Copyright (c) 2001-2007 - Apache Software Foundation