com.vaadin.ui.declarative
Class DesignFormatter

java.lang.Object
  extended by com.vaadin.ui.declarative.DesignFormatter
All Implemented Interfaces:
java.io.Serializable

public class DesignFormatter
extends java.lang.Object
implements java.io.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 by DesignAttributeHandler.

Since:
7.4
Author:
Vaadin Ltd
See Also:
Serialized Form

Constructor Summary
DesignFormatter()
          Creates the formatter with default types already mapped.
 
Method Summary
protected
<T> void
addConverter(java.lang.Class<?> type, Converter<java.lang.String,?> converter)
          Adds a converter for a given type.
protected
<T> void
addConverter(Converter<java.lang.String,T> converter)
          Adds a converter for a new type.
 boolean canConvert(java.lang.Class<?> type)
          Checks whether or not a value of a given type can be converted.
protected
<T> Converter<java.lang.String,T>
findConverterFor(java.lang.Class<? extends T> sourceType)
          Finds a converter for a given type.
protected
<T> Converter<java.lang.String,T>
findConverterFor(java.lang.Class<? extends T> sourceType, boolean strict)
          Finds a converter for a given type.
 java.lang.String format(java.lang.Object object)
          Finds a formatter for a given object and attempts to format it.
<T> java.lang.String
format(T object, java.lang.Class<? extends T> type)
          Formats an object according to a converter suitable for a given type.
protected  java.util.Set<java.lang.Class<?>> getRegisteredClasses()
          Returns a set of classes that have a converter registered.
protected  void mapDefaultTypes()
          Maps default types to their converters.
<T> T
parse(java.lang.String value, java.lang.Class<? extends T> type)
          Parses a given string as a value of given type
protected  void removeConverter(java.lang.Class<?> type)
          Removes the converter for given type, if it was present.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DesignFormatter

public DesignFormatter()
Creates the formatter with default types already mapped.

Method Detail

mapDefaultTypes

protected void mapDefaultTypes()
Maps default types to their converters.


addConverter

protected <T> void addConverter(Converter<java.lang.String,T> converter)
Adds a converter for a new type.

Parameters:
converter - Converter to add.

addConverter

protected <T> void addConverter(java.lang.Class<?> type,
                                Converter<java.lang.String,?> converter)
Adds a converter for a given type.

Parameters:
type - Type to convert to/from.
converter - Converter.

removeConverter

protected void removeConverter(java.lang.Class<?> type)
Removes the converter for given type, if it was present.

Parameters:
type - Type to remove converter for.

getRegisteredClasses

protected java.util.Set<java.lang.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(java.lang.String value,
                   java.lang.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 java.lang.String format(java.lang.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> java.lang.String format(T object,
                                   java.lang.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(java.lang.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<java.lang.String,T> findConverterFor(java.lang.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.

findConverterFor

protected <T> Converter<java.lang.String,T> findConverterFor(java.lang.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.


Copyright © 2000-2014 Vaadin Ltd. All Rights Reserved.