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,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

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

    INVALID_VALUE_MESSAGE_PROPERTY
  • Constructor Summary

    Constructors
    Constructor
    Description
    Constructs a default string literal converter indicating the type of value to convert.
  • Method Summary

    Modifier and Type
    Method
    Description
    Converts a literal representation of a value from the lexical space into a value in the value space.
     

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

    convertValue, getInstance

    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

    getSession

    Methods inherited from interface com.globalmentor.beans.PropertyBindable

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

    • DefaultStringLiteralConverter

      public DefaultStringLiteralConverter(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:
      NullPointerException - if the given value class is null.
  • Method Details

    • getValueClass

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

      public V 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 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.