Class DateStringLiteralConverter

All Implemented Interfaces:
com.globalmentor.beans.PropertyBindable, com.globalmentor.beans.PropertyConstrainable, Converter<Date,String>

public class DateStringLiteralConverter extends AbstractDateStringLiteralConverter<Date>
An object that can convert a date/time from and to a string. This implementation caches a date format and only creates a new one if the locale has changed. This implementation synchronizes all conversions on the DateFormat object.
Author:
Garret Wilson
  • Constructor Details

    • DateStringLiteralConverter

      public DateStringLiteralConverter(DateStringLiteralStyle dateStyle)
      Date style constructor with no time style.
      Parameters:
      dateStyle - The date representation style, or null if the date should not be represented.
      Throws:
      NullPointerException - if the given date style is null.
    • DateStringLiteralConverter

      public DateStringLiteralConverter(DateStringLiteralStyle dateStyle, TimeStringLiteralStyle timeStyle)
      Date style and time style constructor.
      Parameters:
      dateStyle - The date representation style, or null if the date should not be represented.
      timeStyle - The time representation style, or null if the time should not be represented.
      Throws:
      NullPointerException - if both the given date style and time style are null.
  • Method Details

    • convertValue

      public String convertValue(Date value) throws ConversionException
      Converts a value from the value space to a literal value in the lexical space.

      This implementation converts the value using the date format object. This implementation synchronizes on the DateFormat instance.

      Parameters:
      value - The value in the value space to convert.
      Returns:
      The converted value in the lexical space, or null if the given literal is null.
      Throws:
      ConversionException - if the value cannot be converted.
      See Also:
    • convertLiteral

      public Date convertLiteral(String literal) throws ConversionException
      Converts a literal representation of a value from the lexical space into a value in the value space.

      This implementation converts the empty string to a null value.

      Parameters:
      literal - The literal value in the lexical space to convert.
      Returns:
      The converted value in the value space, or null if the given literal is null.
      Throws:
      ConversionException - if the literal value cannot be converted.