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 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 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
        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 type
        K - the target object type
        Parameters:
        sourceObj - the source object
        targetObject - 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