Class TypeConverterManager

java.lang.Object
jodd.typeconverter.TypeConverterManager

public class TypeConverterManager extends Object
Provides dynamic object conversion to a type. Contains a map of registered converters. User may add new converters.
  • Field Details

  • Constructor Details

    • TypeConverterManager

      public TypeConverterManager()
  • Method Details

    • get

      public static TypeConverterManager get()
      Returns default implementation.
    • registerDefaults

      public void registerDefaults()
      Registers default set of converters.
    • register

      public <T> void register(Class<T> type, TypeConverter<T> typeConverter)
      Registers a converter for specified type. User must register converter for all super-classes as well.
      Parameters:
      type - class that converter is for
      typeConverter - converter for provided class
    • unregister

      public void unregister(Class type)
      Un-registers converter for given type.
    • lookup

      public <T> TypeConverter<T> lookup(Class<T> type)
      Retrieves converter for provided type. Only registered types are matched, therefore subclasses must be also registered.
      Returns:
      founded converter or null
    • convertType

      public <T> T convertType(Object value, Class<T> destinationType)
      Converts an object to destination type. If type is registered, it's TypeConverter will be used. If not, it scans of destination is an array or enum, as those two cases are handled in a special way.

      If destination type is one of common types, consider using Converter instead for somewhat faster approach (no lookup).

    • convertToCollection

      public <C extends Collection<T>, T> C convertToCollection(Object value, Class<? extends Collection> destinationType, Class<T> componentType)
      Special case of convertType(Object, Class) when target is collection and when component type is known.