Class RegistryMatcher

  • All Implemented Interfaces:
    Matcher

    public class RegistryMatcher
    extends java.lang.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

      Constructors 
      Constructor Description
      RegistryMatcher()
      Constructor for the RegistryMatcher.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void bind​(java.lang.Class type, java.lang.Class transform)
      This is used to bind a Transform type.
      void bind​(java.lang.Class type, Transform transform)
      This is used to bind a Transform instance to the specified type.
      Transform match​(java.lang.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​(java.lang.Class type,
                         java.lang.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​(java.lang.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​(java.lang.Class type)
                        throws java.lang.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:
        java.lang.Exception