Class DateStringLiteralConverter

  • All Implemented Interfaces:
    com.globalmentor.beans.PropertyBindable, com.globalmentor.beans.PropertyConstrainable, Converter<java.util.Date,​java.lang.String>

    public class DateStringLiteralConverter
    extends AbstractDateStringLiteralConverter<java.util.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
    • Field Summary

      • Fields inherited from class com.globalmentor.beans.BoundPropertyObject

        NO_PROPERTY_CHANGE_LISTENERS, NO_VETOABLE_CHANGE_LISTENERS
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.util.Date convertLiteral​(java.lang.String literal)
      Converts a literal representation of a value from the lexical space into a value in the value space.
      java.lang.String convertValue​(java.util.Date value)
      Converts a value from the value space to a literal value in the lexical space.
      • Methods inherited from class com.globalmentor.beans.BoundPropertyObject

        addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, addVetoableChangeListener, createPostponedPropertyChangeEvent, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, fireVetoableChange, fireVetoableChange, fireVetoableChange, getForwardPropertyChangeListener, getPropertyChangeListeners, getPropertyChangeListeners, getPropertyChangeSupport, getRepeatPropertyChangeListener, getRepeatVetoableChangeListener, getVetoableChangeListeners, getVetoableChangeListeners, getVetoableChangeSupport, hasPropertyChangeListeners, hasVetoableChangeListeners, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, removeVetoableChangeListener
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface com.globalmentor.beans.PropertyBindable

        addPropertyChangeListener, addPropertyChangeListener, getPropertyChangeListeners, getPropertyChangeListeners, hasPropertyChangeListeners, removePropertyChangeListener, removePropertyChangeListener
    • Constructor Detail

      • 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:
        java.lang.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:
        java.lang.NullPointerException - if both the given date style and time style are null.
    • Method Detail

      • convertValue

        public java.lang.String convertValue​(java.util.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:
        AbstractDateStringLiteralConverter.getDateFormat()
      • convertLiteral

        public java.util.Date convertLiteral​(java.lang.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.