Class CharArrayStringLiteralConverter

  • All Implemented Interfaces:
    com.globalmentor.beans.PropertyBindable, com.globalmentor.beans.PropertyConstrainable, Converter<char[],​java.lang.String>

    public class CharArrayStringLiteralConverter
    extends AbstractStringLiteralConverter<char[]>
    A converter that converts a char[] from and to a string literal.
    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
      char[] 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​(char[] value)
      Converts a value from the value space to a literal value in the lexical space.
      boolean isEquivalent​(char[] value, java.lang.String literal)
      Determines if the given literal in the lexical space is a valid representation of the given value in the value 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

      • CharArrayStringLiteralConverter

        public CharArrayStringLiteralConverter()
    • Method Detail

      • convertLiteral

        public char[] convertLiteral​(java.lang.String literal)
                              throws ConversionException
        Description copied from interface: Converter
        Converts a literal representation of a value from the lexical space into a value in the value space.
        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.
      • convertValue

        public java.lang.String convertValue​(char[] 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.

        This version creates a new string based upon the character array value.

        Specified by:
        convertValue in interface Converter<char[],​java.lang.String>
        Overrides:
        convertValue in class AbstractStringLiteralConverter<char[]>
        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.
      • isEquivalent

        public boolean isEquivalent​(char[] value,
                                    java.lang.String literal)
        Determines if the given literal in the lexical space is a valid representation of the given value in the value space.

        This implementation assumes that non- null values can correctly be compared using Object.equals(Object).

        This implementation converts the value to a string and compares that string with the literal value.

        Specified by:
        isEquivalent in interface Converter<char[],​java.lang.String>
        Overrides:
        isEquivalent in class AbstractConverter<char[],​java.lang.String>
        Parameters:
        value - The value to compare.
        literal - The literal value in the lexical space to compare with the value after conversion.
        Returns:
        true if the given literal in the lexical space is a valid representation of the given value in the value space.