org.simpleframework.xml.transform
Class RegistryMatcher

java.lang.Object
  extended by org.simpleframework.xml.transform.RegistryMatcher
All Implemented Interfaces:
Matcher

public class RegistryMatcher
extends Object
implements Matcher

The RegistryMatcher provides a simple matcher backed by a registry. Registration can be done to match a type to a Transform class or instance. If a transform class is registered an instance of it is created when requested using the default no argument constructor of the type, it is then cached so it can be reused on future requests.

Author:
Niall Gallagher
See Also:
Persister

Constructor Summary
RegistryMatcher()
          Constructor for the RegistryMatcher.
 
Method Summary
 void bind(Class type, Class transform)
          This is used to bind a Transform type.
 void bind(Class type, Transform transform)
          This is used to bind a Transform instance to the specified type.
 Transform match(Class type)
          This is used to match a Transform using the type specified.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RegistryMatcher

public RegistryMatcher()
Constructor for the RegistryMatcher. This is used to create a matcher instance that can resolve a transform by type and can also instantiate new transforms if required. It is essentially a convenience implementation.

Method Detail

bind

public void bind(Class type,
                 Class transform)
This is used to bind a Transform type. The first time a transform is requested for the specified type a new instance of this Transform will be instantiated.

Parameters:
type - this is the type to resolve the transform for
transform - this is the transform type to instantiate

bind

public void bind(Class type,
                 Transform transform)
This is used to bind a Transform instance to the specified type. Each time a transform is requested for this type the provided instance will be returned.

Parameters:
type - this is the type to resolve the transform for
transform - this transform instance to be used

match

public Transform match(Class type)
                throws Exception
This is used to match a Transform using the type specified. If no transform can be acquired then this returns a null value indicating that no transform could be found.

Specified by:
match in interface Matcher
Parameters:
type - this is the type to acquire the transform for
Returns:
returns a transform for processing the type given
Throws:
Exception