Package io.guise.framework.converter
Class DefaultStringLiteralConverter<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>
io.guise.framework.converter.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>
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
ConstructorDescriptionDefaultStringLiteralConverter
(Class<V> valueClass) Constructs a default string literal converter indicating the type of value to convert. -
Method Summary
Modifier and TypeMethodDescriptionconvertLiteral
(String literal) 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
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 isnull
.
-
-
Method Details
-
getValueClass
- Returns:
- The class representing the type of value to convert.
-
convertLiteral
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 asCharSequence
. If there is no string-compatible constructor, aConversionException
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 isnull
. - Throws:
ConversionException
- if the literal value cannot be converted.
-