Class 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 Detail

      • TransformerImpl

        public TransformerImpl()
        Default constructor.
    • 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 interface Transformer
        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 interface Transformer
        Parameters:
        destFieldName - the field name in the destination object
      • resetFieldsMapping

        public final void resetFieldsMapping()
        Removes all the configured fields mapping.
        Specified by:
        resetFieldsMapping in interface Transformer
      • withFieldTransformer

        public final Transformer withFieldTransformer​(FieldTransformer... fieldTransformer)
        Initializes the field transformer functions. The transformer function returns directly the field value.
        Specified by:
        withFieldTransformer in interface Transformer
        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 interface Transformer
        Parameters:
        destFieldName - the field name in the destination object
      • resetFieldsTransformer

        public final void resetFieldsTransformer()
        Removes all the configured fields transformer.
        Specified by:
        resetFieldsTransformer in interface Transformer
      • 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 interface Transformer
        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 interface Transformer
        Type Parameters:
        T - the Source object type
        K - the target object type
        Parameters:
        sourceObj - the source object
        targetClass - the destination object class
        Returns:
        a copy of the source object into the destination object