org.omnaest.utils.structure.element.converter
Class ElementConverterRegistration

java.lang.Object
  extended by org.omnaest.utils.structure.element.converter.ElementConverterRegistration
All Implemented Interfaces:
Serializable

public class ElementConverterRegistration
extends Object
implements Serializable

Static registration of ElementConverter and ElementConverterTypeAware instances.

New instances of the following ElementConverters will be added automatically at Class creation time of the ElementConverterRegistration:

Author:
Omnaest
See Also:
ElementConverterRegistered, Serialized Form

Field Summary
static SortedMap<ElementConverterTypeAware.SourceAndTargetType<?,?>,ElementConverter<?,?>> sourceAndTargetTypeToElementConverterMap
           
 
Constructor Summary
ElementConverterRegistration()
           
 
Method Summary
static
<FROM,TO> ElementConverter<FROM,TO>
determineElementConverterFor(Class<FROM> sourceType, Class<TO> targetType)
          Determines the most fitting registered ElementConverter instance within the ElementConverterRegistration.
static void registerElementConverter(Class<? extends ElementConverter<?,?>> elementConverterType, Class<?> sourceType, Class<?> targetType)
          Similar to registerElementConverter(ElementConverter, Class, Class) but using reflection to create a new instance of the ElementConverter type.
static void registerElementConverter(ElementConverter<?,?> elementConverter, Class<?> sourceType, Class<?> targetType)
          Similar to registerElementConverterTypeAware(ElementConverterTypeAware) but for non type aware ElementConverter instances
static void registerElementConverterTypeAware(Class<? extends ElementConverterTypeAware<?,?>> elementConverterTypeAwareType)
          Similar to registerElementConverterTypeAware(ElementConverterTypeAware) using reflection to create a new instance.
static void registerElementConverterTypeAware(ElementConverterTypeAware<?,?> elementConverterTypeAware)
          Registers an ElementConverterTypeAware instance at the ElementConverterRegistration
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

sourceAndTargetTypeToElementConverterMap

public static final SortedMap<ElementConverterTypeAware.SourceAndTargetType<?,?>,ElementConverter<?,?>> sourceAndTargetTypeToElementConverterMap
Constructor Detail

ElementConverterRegistration

public ElementConverterRegistration()
Method Detail

determineElementConverterFor

public static <FROM,TO> ElementConverter<FROM,TO> determineElementConverterFor(Class<FROM> sourceType,
                                                                               Class<TO> targetType)
Determines the most fitting registered ElementConverter instance within the ElementConverterRegistration.

Most fitting means e.g. if a Double instance is given as source type and String as target type the ElementConverterObjectToString would fit, but the ElementConverterNumberToString is a closer fit. So the ElementConverterNumberToString is returned instead of the ElementConverterObjectToString.

Parameters:
sourceType -
targetType -
Returns:

registerElementConverterTypeAware

public static void registerElementConverterTypeAware(Class<? extends ElementConverterTypeAware<?,?>> elementConverterTypeAwareType)
Similar to registerElementConverterTypeAware(ElementConverterTypeAware) using reflection to create a new instance.

Parameters:
elementConverterTypeAwareType -

registerElementConverterTypeAware

public static void registerElementConverterTypeAware(ElementConverterTypeAware<?,?> elementConverterTypeAware)
Registers an ElementConverterTypeAware instance at the ElementConverterRegistration

Parameters:
elementConverterTypeAware -

registerElementConverter

public static void registerElementConverter(Class<? extends ElementConverter<?,?>> elementConverterType,
                                            Class<?> sourceType,
                                            Class<?> targetType)
Similar to registerElementConverter(ElementConverter, Class, Class) but using reflection to create a new instance of the ElementConverter type.

Parameters:
elementConverterType -
sourceType -
targetType -

registerElementConverter

public static void registerElementConverter(ElementConverter<?,?> elementConverter,
                                            Class<?> sourceType,
                                            Class<?> targetType)
Similar to registerElementConverterTypeAware(ElementConverterTypeAware) but for non type aware ElementConverter instances

Parameters:
elementConverter -
sourceType -
targetType -


Copyright © 2013. All Rights Reserved.