Package com.hotels.beans.transformer
Interface Transformer
-
- All Known Implementing Classes:
TransformerImpl
public interface Transformer
Utility methods for populating Mutable, Immutable and Hybrid JavaBeans properties via reflection. The implementations are provided by BeanUtils.
-
-
Method Summary
All Methods Instance Methods Abstract 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
resetFieldsTransformationSkip()
Removes all the configured fields to skip.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.Transformer
setDefaultValueSetEnabled(boolean defaultValueSetEnabled)
It allows to enable/disable the set of the default value for primitive types in case they are null.Transformer
setFlatFieldNameTransformation(boolean useFlatTransformation)
It allows to configure the transformer in order to apply a transformation function on all fields matching the given name without keeping in consideration their full path.Transformer
setValidationEnabled(boolean validationEnabled)
It allows to enable the object validation.Transformer
skipTransformationForField(String... fieldName)
Allows to specify all the fields for which the transformation have to be skipped.<T,K>
Ktransform(T sourceObj, Class<? extends K> targetClass)
Copies all properties from an object to a new one.<T,K>
voidtransform(T sourceObj, K targetObject)
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
-
transform
<T,K> K transform(T sourceObj, Class<? extends K> targetClass)
Copies all properties from an object to a new one.- 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
- Throws:
IllegalArgumentException
- if any parameter is invalid
-
transform
<T,K> void transform(T sourceObj, K targetObject)
Copies all properties from an object to a new one.- Type Parameters:
T
- the Source object typeK
- the target object type- Parameters:
sourceObj
- the source objecttargetObject
- the destination object- Throws:
IllegalArgumentException
- if any parameter is invalid
-
withFieldMapping
Transformer withFieldMapping(FieldMapping... fieldMapping)
Initializes the mapping between fields in the source object and the destination one.- Parameters:
fieldMapping
- the field mapping- Returns:
- the
Transformer
instance
-
removeFieldMapping
void removeFieldMapping(String destFieldName)
Removes the field mapping for the given field.- Parameters:
destFieldName
- the field name in the destination object
-
resetFieldsMapping
void resetFieldsMapping()
Removes all the configured fields mapping.
-
withFieldTransformer
Transformer withFieldTransformer(FieldTransformer... fieldTransformer)
Initializes the field transformer functions. The transformer function returns directly the field value.- Parameters:
fieldTransformer
- the fields transformer function- Returns:
- the
Transformer
instance
-
removeFieldTransformer
void removeFieldTransformer(String destFieldName)
Removes the field transformer for the given field.- Parameters:
destFieldName
- the field name in the destination object
-
resetFieldsTransformer
void resetFieldsTransformer()
Removes all the configured fields transformer.
-
setDefaultValueForMissingField
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.- 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
-
setFlatFieldNameTransformation
Transformer setFlatFieldNameTransformation(boolean useFlatTransformation)
It allows to configure the transformer in order to apply a transformation function on all fields matching the given name without keeping in consideration their full path. If set to true the default value is set, if false if it raises a:MissingFieldException
in case of missing fields.- Parameters:
useFlatTransformation
- indicates if the transformer function has to be performed on all fields matching the given name without keeping in consideration their full path.- Returns:
- the
Transformer
instance
-
setValidationEnabled
Transformer setValidationEnabled(boolean validationEnabled)
It allows to enable the object validation.- Parameters:
validationEnabled
- if true the validation is performed.- Returns:
- the
Transformer
instance
-
skipTransformationForField
Transformer skipTransformationForField(String... fieldName)
Allows to specify all the fields for which the transformation have to be skipped.- Parameters:
fieldName
- the destination object's field(s) name that have to be skipped- Returns:
- the
Transformer
instance
-
resetFieldsTransformationSkip
void resetFieldsTransformationSkip()
Removes all the configured fields to skip.
-
setDefaultValueSetEnabled
Transformer setDefaultValueSetEnabled(boolean defaultValueSetEnabled)
It allows to enable/disable the set of the default value for primitive types in case they are null.- Parameters:
defaultValueSetEnabled
- if true the default value for the primitive type is set. By default it's true.- Returns:
- the
Transformer
instance
-
-