Package net.sf.ezmorph
Class MorpherRegistry
java.lang.Object
net.sf.ezmorph.MorpherRegistry
- All Implemented Interfaces:
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.
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 -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
clear()
Deregisters all morphers.void
Deregister all Morphers of a type.void
deregisterMorpher
(Morpher morpher) Deregister the specified Morpher.
The registry will remove the targetClass
from the morphers Map if it has no other registered morphers.getMorpherFor
(Class clazz) Returns a morpher forclazz
.
If several morphers are found for that class, it returns the first.Morpher[]
getMorphersFor
(Class clazz) Returns all morphers forclazz
.
If no Morphers are found it will return an array containing the IdentityObjectMorpher.Morphs and object to the specified target class.
This method uses reflection to invoke primitive Morphers and Morphers that do not implement ObjectMorpher.void
registerMorpher
(Morpher morpher) Register a Morpher for a targetClass
.
The target class is the class this Morpher morphs to.void
registerMorpher
(Morpher morpher, boolean override) Register a Morpher for a targetClass
.
The target class is the class this Morpher morphs to.
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
morphers
-
-
Constructor Details
-
MorpherRegistry
public MorpherRegistry()
-
-
Method Details
-
clear
public void clear()Deregisters all morphers. -
clear
Deregister all Morphers of a type.- Parameters:
class
- the target type the Morphers morph to
-
deregisterMorpher
Deregister the specified Morpher.
The registry will remove the targetClass
from the morphers Map if it has no other registered morphers.- Parameters:
morpher
- the target Morpher to remove
-
getMorpherFor
Returns a morpher forclazz
.
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
Returns all morphers forclazz
.
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
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 tovalue
- 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
Register a Morpher for a targetClass
.
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 methodmorphsTo()
is used to associate the Morpher to a target Class
-
registerMorpher
Register a Morpher for a targetClass
.
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 methodmorphsTo()
is used to associate the Morpher to a target Classoverride
- if registering teh Morpher should override all previously registered morphers for the target type
-