com.vaadin.ui.declarative.
Class DesignFormatter
- java.lang.Object
-
- com.vaadin.ui.declarative.DesignFormatter
-
All Implemented Interfaces:
public class DesignFormatter extends Object implements Serializable
Class focused on flexible and consistent formatting and parsing of different values throughout reading and writing
Design
. An instance of this class is used byDesignAttributeHandler
.Since:
7.4
Author:
Vaadin Ltd
See Also:
-
-
Constructor Summary
Constructors Constructor Description DesignFormatter()
Creates the formatter with default types already mapped.
-
Method Summary
All Methods Modifier and Type Method Description protected <T> void
addConverter(Class<?> type, Converter<String,?> converter)
Adds a converter for a given type.
boolean
canConvert(Class<?> type)
Checks whether or not a value of a given type can be converted.
static String
decodeFromTextNode(String input)
Decodes HTML entities in a text from text node and replaces them with actual characters.
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.
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.
String
format(Object object)
Finds a formatter for a given object and attempts to format it.
<T> String
format(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 void
mapDefaultTypes()
Maps default types to their converters.
<T> T
parse(String value, Class<? extends T> type)
Parses a given string as a value of given type.
protected void
removeConverter(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 and
strict
is 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 formatParameters:
input
- String to be encodedReturns:
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)
encodesParameters:
input
-Returns:
Since:
7.6
-
-