Class DefaultStringLiteralConverter<V>

  • Type Parameters:
    V - The value type this converter supports.
    All Implemented Interfaces:
    com.globalmentor.beans.PropertyBindable, com.globalmentor.beans.PropertyConstrainable, Converter<V,​java.lang.String>

    public class DefaultStringLiteralConverter<V>
    extends AbstractStringLiteralConverter<V>
    A converter that converts any object to a string literal using its Object.toString() method. This converter converts from a string literal to an object using a string constructor, or if one is not present, the first constructor with a single parameter that is type-compatible with String, such as CharSequence. If there is no string-compatible constructor, a ConversionException is thrown.
    Author:
    Garret Wilson
    • Field Summary

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

        NO_PROPERTY_CHANGE_LISTENERS, NO_VETOABLE_CHANGE_LISTENERS
    • Constructor Summary

      Constructors 
      Constructor Description
      DefaultStringLiteralConverter​(java.lang.Class<V> valueClass)
      Constructs a default string literal converter indicating the type of value to convert.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      V 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.Class<V> getValueClass()  
      • 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

      • DefaultStringLiteralConverter

        public DefaultStringLiteralConverter​(java.lang.Class<V> valueClass)
        Constructs a default string literal converter indicating the type of value to convert.
        Parameters:
        valueClass - The class indicating the type of value to convert.
        Throws:
        java.lang.NullPointerException - if the given value class is null.
    • Method Detail

      • getValueClass

        public java.lang.Class<V> getValueClass()
        Returns:
        The class representing the type of value to convert.
      • convertLiteral

        public V 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 from a string literal to an object using a string constructor, or if one is not present, the first constructor with a single parameter that is type-compatible with String, such as CharSequence. If there is no string-compatible constructor, a ConversionException is thrown.

        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.