public abstract class DateTimeConverter extends AbstractConverter
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.
Constructor and Description |
---|
DateTimeConverter()
Construct a Date/Time Converter that throws a
ConversionException if an error occurs. |
DateTimeConverter(Object defaultValue)
Construct a Date/Time Converter that returns a default
value if an error occurs.
|
Modifier and Type | Method and Description |
---|---|
protected String |
convertToString(Object value)
Convert an input Date/Calendar object into a String.
|
protected <T> T |
convertToType(Class<T> 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 |
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. |
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.
|
String |
toString()
Provide a String representation of this date/time converter.
|
conversionException, convert, convertArray, getDefault, getDefaultType, handleError, handleMissing, isUseDefault, setDefaultValue
public DateTimeConverter()
ConversionException
if an error occurs.public DateTimeConverter(Object defaultValue)
defaultValue
- The default value to be returned
if the value to be converted is missing or an error
occurs converting the value.public void setUseLocaleFormat(boolean useLocaleFormat)
useLocaleFormat
- true
if the format
for the locale should be used, otherwise false
public TimeZone getTimeZone()
null
if none specified.public void setTimeZone(TimeZone timeZone)
timeZone
- The Time Zone.public Locale getLocale()
null
if none specified).public void setLocale(Locale locale)
locale
- The Locale.public void setPattern(String pattern)
java.lang.String
.pattern
- The format pattern.SimpleDateFormat
public String[] getPatterns()
java.lang.String
(or null
if none specified).SimpleDateFormat
public void setPatterns(String[] patterns)
java.lang.String
.patterns
- Array of format patterns.SimpleDateFormat
protected String convertToString(Object value) throws 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 convertedThrowable
- if an error occurs converting to a Stringprotected <T> T convertToType(Class<T> targetType, Object value) throws 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
T
- The desired target type of the conversion.targetType
- Data type to which this value should be converted.value
- The input value to be converted.Exception
- if conversion cannot be performed successfullyprotected DateFormat getFormat(Locale locale, TimeZone timeZone)
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)public String toString()
toString
in class AbstractConverter
Copyright © 2000–2019 The Apache Software Foundation. All rights reserved.