com.thoughtworks.xstream.converters.basic
Class DateConverter

java.lang.Object
  extended by com.thoughtworks.xstream.converters.basic.AbstractSingleValueConverter
      extended by com.thoughtworks.xstream.converters.basic.DateConverter
All Implemented Interfaces:
ConverterMatcher, ErrorReporter, SingleValueConverter

public class DateConverter
extends AbstractSingleValueConverter
implements ErrorReporter

Converts a java.util.Date to a String as a date format, retaining precision down to milliseconds.

The formatted string is by default in UTC and English locale. You can provide a different Locale and TimeZone that are used for serialization or null to use always the current TimeZone. Note, that the default format uses 3-letter time zones that can be ambiguous and may cause wrong results at deserialization and is localized since Java 6.

Dates in a different era are using a special default pattern that contains the era itself.

Author:
Joe Walnes, Jörg Schaible

Constructor Summary
DateConverter()
          Construct a DateConverter with standard formats and lenient set off.
DateConverter(boolean lenient)
          Construct a DateConverter with standard formats and using UTC.
DateConverter(String defaultFormat, String[] acceptableFormats)
          Construct a DateConverter with lenient set off using UTC.
DateConverter(String defaultFormat, String[] acceptableFormats, boolean lenient)
          Construct a DateConverter.
DateConverter(String defaultFormat, String[] acceptableFormats, TimeZone timeZone)
          Construct a DateConverter with a given TimeZone and lenient set off.
DateConverter(String defaultFormat, String[] acceptableFormats, TimeZone timeZone, boolean lenient)
          Construct a DateConverter.
DateConverter(String defaultEraFormat, String defaultFormat, String[] acceptableFormats, Locale locale, TimeZone timeZone, boolean lenient)
          Construct a DateConverter.
DateConverter(TimeZone timeZone)
          Construct a DateConverter with standard formats, lenient set off and uses a given TimeZone for serialization.
 
Method Summary
 void appendErrors(ErrorWriter errorWriter)
          Append context information to an ErrorWriter.
 boolean canConvert(Class type)
          Determines whether the converter can marshall a particular type.
 Object fromString(String str)
          Unmarshals an Object from its single value representation.
 String toString(Object obj)
          Marshals an Object into a single value representation.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DateConverter

public DateConverter()
Construct a DateConverter with standard formats and lenient set off.


DateConverter

public DateConverter(TimeZone timeZone)
Construct a DateConverter with standard formats, lenient set off and uses a given TimeZone for serialization.

Parameters:
timeZone - the TimeZone used to serialize the Date
Since:
1.4

DateConverter

public DateConverter(boolean lenient)
Construct a DateConverter with standard formats and using UTC.

Parameters:
lenient - the lenient setting of DateFormat.setLenient(boolean)
Since:
1.3

DateConverter

public DateConverter(String defaultFormat,
                     String[] acceptableFormats)
Construct a DateConverter with lenient set off using UTC.

Parameters:
defaultFormat - the default format
acceptableFormats - fallback formats

DateConverter

public DateConverter(String defaultFormat,
                     String[] acceptableFormats,
                     TimeZone timeZone)
Construct a DateConverter with a given TimeZone and lenient set off.

Parameters:
defaultFormat - the default format
acceptableFormats - fallback formats
Since:
1.4

DateConverter

public DateConverter(String defaultFormat,
                     String[] acceptableFormats,
                     boolean lenient)
Construct a DateConverter.

Parameters:
defaultFormat - the default format
acceptableFormats - fallback formats
lenient - the lenient setting of DateFormat.setLenient(boolean)
Since:
1.3

DateConverter

public DateConverter(String defaultFormat,
                     String[] acceptableFormats,
                     TimeZone timeZone,
                     boolean lenient)
Construct a DateConverter.

Parameters:
defaultFormat - the default format
acceptableFormats - fallback formats
timeZone - the TimeZone used to serialize the Date
lenient - the lenient setting of DateFormat.setLenient(boolean)
Since:
1.4

DateConverter

public DateConverter(String defaultEraFormat,
                     String defaultFormat,
                     String[] acceptableFormats,
                     Locale locale,
                     TimeZone timeZone,
                     boolean lenient)
Construct a DateConverter.

Parameters:
defaultEraFormat - the default format for dates in a different era (may be null to drop era support)
defaultFormat - the default format
acceptableFormats - fallback formats
locale - locale to use for the format
timeZone - the TimeZone used to serialize the Date
lenient - the lenient setting of DateFormat.setLenient(boolean)
Since:
1.4.4
Method Detail

canConvert

public boolean canConvert(Class type)
Description copied from interface: ConverterMatcher
Determines whether the converter can marshall a particular type.

Specified by:
canConvert in interface ConverterMatcher
Specified by:
canConvert in class AbstractSingleValueConverter
Parameters:
type - the Class representing the object type to be converted

fromString

public Object fromString(String str)
Description copied from interface: SingleValueConverter
Unmarshals an Object from its single value representation.

Specified by:
fromString in interface SingleValueConverter
Specified by:
fromString in class AbstractSingleValueConverter
Parameters:
str - the String with the single value of the Object
Returns:
the Object

toString

public String toString(Object obj)
Description copied from interface: SingleValueConverter
Marshals an Object into a single value representation.

Specified by:
toString in interface SingleValueConverter
Overrides:
toString in class AbstractSingleValueConverter
Parameters:
obj - the Object to be converted
Returns:
a String with the single value of the Object or null

appendErrors

public void appendErrors(ErrorWriter errorWriter)
Description copied from interface: ErrorReporter
Append context information to an ErrorWriter.

Specified by:
appendErrors in interface ErrorReporter
Parameters:
errorWriter - the error writer


Copyright © 2004-2014 XStream. All Rights Reserved.