Class MorpherRegistry

java.lang.Object
net.sf.ezmorph.MorpherRegistry
All Implemented Interfaces:
Serializable

public class MorpherRegistry extends Object implements Serializable
Convenient class that manages Morphers.
A MorpherRehistry manages a group of Morphers. A Morpher will always be associated with a target class, it is possible to have several Morphers registered for a target class, if this is the case, the first Morpher will be used when performing a conversion and no specific Morpher is selected in advance.
MorphUtils may be used to register standard Morphers for primitive types and primitive wrappers, as well as arrays of those types.
See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private Map
     
    private static final long
     
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Deregisters all morphers.
    void
    clear(Class type)
    Deregister all Morphers of a type.
    void
    Deregister the specified Morpher.
    The registry will remove the target Class from the morphers Map if it has no other registered morphers.
    Returns a morpher for clazz.
    If several morphers are found for that class, it returns the first.
    Returns all morphers for clazz.
    If no Morphers are found it will return an array containing the IdentityObjectMorpher.
    morph(Class target, Object value)
    Morphs and object to the specified target class.
    This method uses reflection to invoke primitive Morphers and Morphers that do not implement ObjectMorpher.
    void
    Register a Morpher for a target Class.
    The target class is the class this Morpher morphs to.
    void
    registerMorpher(Morpher morpher, boolean override)
    Register a Morpher for a target Class.
    The target class is the class this Morpher morphs to.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      See Also:
    • morphers

      private Map morphers
  • Constructor Details

    • MorpherRegistry

      public MorpherRegistry()
  • Method Details

    • clear

      public void clear()
      Deregisters all morphers.
    • clear

      public void clear(Class type)
      Deregister all Morphers of a type.
      Parameters:
      class - the target type the Morphers morph to
    • deregisterMorpher

      public void deregisterMorpher(Morpher morpher)
      Deregister the specified Morpher.
      The registry will remove the target Class from the morphers Map if it has no other registered morphers.
      Parameters:
      morpher - the target Morpher to remove
    • getMorpherFor

      public Morpher getMorpherFor(Class clazz)
      Returns a morpher for clazz.
      If several morphers are found for that class, it returns the first. If no Morpher is found it will return the IdentityObjectMorpher.
      Parameters:
      clazz - the target class for which a Morpher may be associated
    • getMorphersFor

      public Morpher[] getMorphersFor(Class clazz)
      Returns all morphers for clazz.
      If no Morphers are found it will return an array containing the IdentityObjectMorpher.
      Parameters:
      clazz - the target class for which a Morpher or Morphers may be associated
    • morph

      public Object morph(Class target, Object value)
      Morphs and object to the specified target class.
      This method uses reflection to invoke primitive Morphers and Morphers that do not implement ObjectMorpher.
      Parameters:
      target - the target class to morph to
      value - the value to morph
      Returns:
      an instance of the target class if a suitable Morpher was found
      Throws:
      MorphException - if an error occurs during the conversion
    • registerMorpher

      public void registerMorpher(Morpher morpher)
      Register a Morpher for a target Class.
      The target class is the class this Morpher morphs to. If there are another morphers registered to that class, it will be appended to a List.
      Parameters:
      morpher - a Morpher to register. The method morphsTo() is used to associate the Morpher to a target Class
    • registerMorpher

      public void registerMorpher(Morpher morpher, boolean override)
      Register a Morpher for a target Class.
      The target class is the class this Morpher morphs to. If there are another morphers registered to that class, it will be appended to a List.
      Parameters:
      morpher - a Morpher to register. The method morphsTo() is used to associate the Morpher to a target Class
      override - if registering teh Morpher should override all previously registered morphers for the target type