Class DesignFormatter
- java.lang.Object
-
- com.vaadin.ui.declarative.DesignFormatter
-
- All Implemented Interfaces:
Serializable
public class DesignFormatter extends Object implements Serializable
Class focused on flexible and consistent formatting and parsing of different values throughout reading and writingDesign. An instance of this class is used byDesignAttributeHandler.- Since:
- 7.4
- Author:
- Vaadin Ltd
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description DesignFormatter()Creates the formatter with default types already mapped.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected <T> voidaddConverter(Class<?> type, Converter<String,?> converter)Adds a converter for a given type.booleancanConvert(Class<?> type)Checks whether or not a value of a given type can be converted.static StringdecodeFromTextNode(String input)Decodes HTML entities in a text from text node and replaces them with actual characters.static StringencodeForTextNode(String input)Encodes some special characters in a given input String to make it ready to be written as contents of a text node.protected <T> Converter<String,T>findConverterFor(Class<? extends T> sourceType)Finds a converter for a given type.protected <T> Converter<String,T>findConverterFor(Class<? extends T> sourceType, boolean strict)Finds a converter for a given type.Stringformat(Object object)Finds a formatter for a given object and attempts to format it.<T> Stringformat(T object, Class<? extends T> type)Formats an object according to a converter suitable for a given type.protected Set<Class<?>>getRegisteredClasses()Returns a set of classes that have a converter registered.protected voidmapDefaultTypes()Maps default types to their converters.<T> Tparse(String value, Class<? extends T> type)Parses a given string as a value of given type.protected voidremoveConverter(Class<?> type)Removes the converter for given type, if it was present.
-
-
-
Method Detail
-
mapDefaultTypes
protected void mapDefaultTypes()
Maps default types to their converters.
-
addConverter
protected <T> void addConverter(Class<?> type, Converter<String,?> converter)
Adds a converter for a given type.- Parameters:
type- Type to convert to/from.converter- Converter.- Since:
- 8.0
-
removeConverter
protected void removeConverter(Class<?> type)
Removes the converter for given type, if it was present.- Parameters:
type- Type to remove converter for.
-
getRegisteredClasses
protected Set<Class<?>> getRegisteredClasses()
Returns a set of classes that have a converter registered. This is not the same as the list of supported classes - subclasses of classes in this set are also supported.- Returns:
- An unmodifiable set of classes that have a converter registered.
-
parse
public <T> T parse(String value, Class<? extends T> type)
Parses a given string as a value of given type.- Parameters:
value- String value to convert.type- Expected result type.- Returns:
- String converted to the expected result type using a registered converter for that type.
-
format
public String format(Object object)
Finds a formatter for a given object and attempts to format it.- Parameters:
object- Object to format.- Returns:
- String representation of the object, as returned by the registered converter.
-
format
public <T> String format(T object, Class<? extends T> type)
Formats an object according to a converter suitable for a given type.- Parameters:
object- Object to format.type- Type of the object.- Returns:
- String representation of the object, as returned by the registered converter.
-
canConvert
public boolean canConvert(Class<?> type)
Checks whether or not a value of a given type can be converted. If a converter for a superclass is found, this will return true.- Parameters:
type- Type to check.- Returns:
- true when either a given type or its supertype has a converter, false otherwise.
-
findConverterFor
protected <T> Converter<String,T> findConverterFor(Class<? extends T> sourceType, boolean strict)
Finds a converter for a given type. May return a converter for a superclass instead, if one is found andstrictis false.- Parameters:
sourceType- Type to find a converter for.strict- Whether or not search should be strict. When this is false, a converter for a superclass of given type may be returned.- Returns:
- A valid converter for a given type or its supertype, null if it was not found.
- Since:
- 8.0
-
findConverterFor
protected <T> Converter<String,T> findConverterFor(Class<? extends T> sourceType)
Finds a converter for a given type. May return a converter for a superclass instead, if one is found.- Parameters:
sourceType- Type to find a converter for.- Returns:
- A valid converter for a given type or its subtype, null if it was not found.
- Since:
- 8.0
-
encodeForTextNode
public static String encodeForTextNode(String input)
Encodes some special characters in a given input String to make it ready to be written as contents of a text node. WARNING: this will e.g. encode "<someTag>" to "<someTag>" as this method doesn't do any parsing and assumes that there are no intended HTML elements in the input. Only some entities are actually encoded: &,<, > It's assumed that other entities are taken care of by Jsoup.
Typically, this method will be used by components to encode data (like option items in
AbstractSelect) when dumping to HTML format- Parameters:
input- String to be encoded- Returns:
- String with &,< and > replaced with their HTML entities
- Since:
- 7.5.7
-
decodeFromTextNode
public static String decodeFromTextNode(String input)
Decodes HTML entities in a text from text node and replaces them with actual characters.
Typically this method will be used by components to read back data (like option items in
AbstractSelect) from HTML. Note that this method unencodes more characters thanencodeForTextNode(String)encodes- Parameters:
input-- Returns:
- Since:
- 7.6
-
-