Class AbstractStringLiteralConverter<V>

java.lang.Object
com.globalmentor.beans.BoundPropertyObject
io.guise.framework.event.GuiseBoundPropertyObject
io.guise.framework.converter.AbstractConverter<V,String>
io.guise.framework.converter.AbstractStringLiteralConverter<V>
Type Parameters:
V - The value type this converter supports.
All Implemented Interfaces:
com.globalmentor.beans.PropertyBindable, com.globalmentor.beans.PropertyConstrainable, Converter<V,String>
Direct Known Subclasses:
AbstractURIStringLiteralConverter, BooleanStringLiteralConverter, CharArrayStringLiteralConverter, DefaultStringLiteralConverter, EmailAddressStringLiteralConverter, PlainIntegerStringLiteralConverter, PlainLongStringLiteralConverter, StringStringLiteralConverter, TelephoneNumberStringLiteralConverter

public abstract class AbstractStringLiteralConverter<V> extends AbstractConverter<V,String>
An abstract implementation an object that can convert a value from and to a string.
Author:
Garret Wilson
  • Field Summary

    Fields inherited from class com.globalmentor.beans.BoundPropertyObject

    NO_PROPERTY_CHANGE_LISTENERS, NO_VETOABLE_CHANGE_LISTENERS

    Fields inherited from interface io.guise.framework.converter.Converter

    INVALID_VALUE_MESSAGE_PROPERTY
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    convertValue(V value)
    Converts a value from the value space to a literal value in the lexical space.
    static <VV> Converter<VV,String>
    getInstance(Class<VV> valueClass)
    Creates a default string literal converter for the value type represented by the given value class.

    Methods inherited from class io.guise.framework.converter.AbstractConverter

    getInvalidValueMessage, isEquivalent, isValidLiteral, setInvalidValueMessage

    Methods inherited from class io.guise.framework.event.GuiseBoundPropertyObject

    getSession

    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 io.guise.framework.converter.Converter

    convertLiteral, getSession

    Methods inherited from interface com.globalmentor.beans.PropertyBindable

    addPropertyChangeListener, addPropertyChangeListener, getPropertyChangeListeners, getPropertyChangeListeners, hasPropertyChangeListeners, removePropertyChangeListener, removePropertyChangeListener
  • Constructor Details

    • AbstractStringLiteralConverter

      public AbstractStringLiteralConverter()
  • Method Details

    • convertValue

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

      This implementation returns the Object.toString() version of the value, if a value is given.

      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.
    • getInstance

      public static <VV> Converter<VV,String> getInstance(Class<VV> valueClass)
      Creates a default string literal converter for the value type represented by the given value class. Specific converters are available for the following types:
      • char[]
      • java.lang.Boolean
      • java.util.Calendar
      • java.util.Date
      • java.util.Double
      • EmailAddress
      • java.lang.Float
      • java.lang.Integer
      • java.lang.Long
      • java.util.Locale
      • java.lang.Long
      • java.lang.String
      • TelephoneNumber
      If the given type is not recognized, a default one-way value-to-literal converter will be returned that uses a value's Object.toString() method for generating values in the lexical space.
      Type Parameters:
      VV - The type of value represented.
      Parameters:
      valueClass - The class of the represented value.
      Returns:
      The default converter for the value type represented by the given value class.
      Throws:
      NullPointerException - if the given value class is null.