Package com.hotels.beans.transformer
Class TransformerImpl
- java.lang.Object
-
- com.hotels.beans.transformer.TransformerImpl
-
- All Implemented Interfaces:
Transformer
public class TransformerImpl extends Object implements Transformer
Utility methods for populating Mutable, Immutable and Hybrid JavaBeans properties via reflection. The implementations are provided by BeanUtils.
-
-
Constructor Summary
Constructors Constructor Description TransformerImpl()
Default constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
removeFieldMapping(String destFieldName)
Removes the field mapping for the given field.void
removeFieldTransformer(String destFieldName)
Removes the field transformer for the given field.void
resetFieldsMapping()
Removes all the configured fields mapping.void
resetFieldsTransformer()
Removes all the configured fields transformer.Transformer
setDefaultValueForMissingField(boolean useDefaultValue)
It allows to configure the transformer in order to set a default value in case some field is missing in the source object.<T,K>
Ktransform(T sourceObj, Class<? extends K> targetClass)
Copies all properties from an object to a new one.Transformer
withFieldMapping(FieldMapping... fieldMapping)
Initializes the mapping between fields in the source object and the destination one.Transformer
withFieldTransformer(FieldTransformer... fieldTransformer)
Initializes the field transformer functions.
-
-
-
Method Detail
-
withFieldMapping
public final Transformer withFieldMapping(FieldMapping... fieldMapping)
Initializes the mapping between fields in the source object and the destination one.- Specified by:
withFieldMapping
in interfaceTransformer
- Parameters:
fieldMapping
- the field mapping- Returns:
- the
Transformer
instance
-
removeFieldMapping
public final void removeFieldMapping(String destFieldName)
Removes the field mapping for the given field.- Specified by:
removeFieldMapping
in interfaceTransformer
- Parameters:
destFieldName
- the field name in the destination object
-
resetFieldsMapping
public final void resetFieldsMapping()
Removes all the configured fields mapping.- Specified by:
resetFieldsMapping
in interfaceTransformer
-
withFieldTransformer
public final Transformer withFieldTransformer(FieldTransformer... fieldTransformer)
Initializes the field transformer functions. The transformer function returns directly the field value.- Specified by:
withFieldTransformer
in interfaceTransformer
- Parameters:
fieldTransformer
- the fields transformer function- Returns:
- the
Transformer
instance
-
removeFieldTransformer
public final void removeFieldTransformer(String destFieldName)
Removes the field transformer for the given field.- Specified by:
removeFieldTransformer
in interfaceTransformer
- Parameters:
destFieldName
- the field name in the destination object
-
resetFieldsTransformer
public final void resetFieldsTransformer()
Removes all the configured fields transformer.- Specified by:
resetFieldsTransformer
in interfaceTransformer
-
setDefaultValueForMissingField
public final Transformer setDefaultValueForMissingField(boolean useDefaultValue)
It allows to configure the transformer in order to set a default value in case some field is missing in the source object. If set to true the default value is set, if false if it raises a:MissingFieldException
in case of missing fields.- Specified by:
setDefaultValueForMissingField
in interfaceTransformer
- Parameters:
useDefaultValue
- true in case the default value should be set, false if it should raise a:MissingFieldException
in case of missing field.- Returns:
- the
Transformer
instance
-
transform
public final <T,K> K transform(T sourceObj, Class<? extends K> targetClass)
Copies all properties from an object to a new one.- Specified by:
transform
in interfaceTransformer
- Type Parameters:
T
- the Source object typeK
- the target object type- Parameters:
sourceObj
- the source objecttargetClass
- the destination object class- Returns:
- a copy of the source object into the destination object
-
-