Class BeanMorpher

  • All Implemented Interfaces:
    Morpher, ObjectMorpher

    public final class BeanMorpher
    extends Object
    implements ObjectMorpher
    Converts a JavaBean into another JavaBean or DynaBean.
    This Morpher will try to match every property from the target JavaBean's class to the properties of the source JavaBean. If any target property differs in type from the source property, it will try to morph it. If a Morpher is not found for that type, the conversion will be aborted with a MorphException; this may be changed by setting the Morpher to be lenient, in that way it will ignore the property (the resulting value will be null).
    Author:
    Andres Almiray
    • Constructor Detail

      • BeanMorpher

        public BeanMorpher​(Class beanClass,
                           MorpherRegistry morpherRegistry)
        Parameters:
        beanClass - the target class to morph to
        morpherRegistry - a registry of morphers
      • BeanMorpher

        public BeanMorpher​(Class beanClass,
                           MorpherRegistry morpherRegistry,
                           boolean lenient)
        Parameters:
        beanClass - the target class to morph to
        morpherRegistry - a registry of morphers
        lenient - if an exception should be raised if no morpher is found for a target property
    • Method Detail

      • morph

        public Object morph​(Object sourceBean)
        Description copied from interface: ObjectMorpher
        Morphs the input object into an output object of the supported type.
        Specified by:
        morph in interface ObjectMorpher
        Parameters:
        sourceBean - The input value to be morphed
      • morphsTo

        public Class morphsTo()
        Description copied from interface: Morpher
        Returns the target Class for conversion.
        Specified by:
        morphsTo in interface Morpher
        Returns:
        the target Class for conversion.
      • supports

        public boolean supports​(Class clazz)
        Description copied from interface: Morpher
        Returns true if the Morpher supports conversion from this Class.
        Specified by:
        supports in interface Morpher
        Parameters:
        clazz - the source Class
        Returns:
        true if clazz is supported by this morpher, false otherwise.