Class RegistryBinder

java.lang.Object
org.simpleframework.xml.convert.RegistryBinder

class RegistryBinder extends Object
The RegistryBinder object is used acquire converters using a binding between a type and its converter. All converters instantiated are cached internally to ensure that the overhead of acquiring a converter is reduced. Converters are created on demand to ensure they are instantiated only if required.
See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private final Cache<Class>
    This is used to cache bindings between types and converters.
    private final ConverterFactory
    This is used to instantiate and cache the converter objects.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Constructor for the RegistryBinder object.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    bind(Class type, Class converter)
    This is used to register a binding between a type and the converter used to serialize and deserialize it.
    private Converter
    create(Class type)
    This is used to acquire a Converter instance from this binder.
    lookup(Class type)
    This is used to acquire a Converter instance from this binder.

    Methods inherited from class java.lang.Object

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

    • factory

      private final ConverterFactory factory
      This is used to instantiate and cache the converter objects.
    • cache

      private final Cache<Class> cache
      This is used to cache bindings between types and converters.
  • Constructor Details

    • RegistryBinder

      public RegistryBinder()
      Constructor for the RegistryBinder object. This is used to create bindings between classes and the converters that should be used to serialize and deserialize the instances. All converters are instantiated once and cached for reuse.
  • Method Details

    • lookup

      public Converter lookup(Class type) throws Exception
      This is used to acquire a Converter instance from this binder. All instances are cached to reduce the overhead of lookups during the serialization process. Converters are lazily instantiated and so are only created if demanded.
      Parameters:
      type - this is the type to find the converter for
      Returns:
      this returns the converter instance for the type
      Throws:
      Exception
    • create

      private Converter create(Class type) throws Exception
      This is used to acquire a Converter instance from this binder. All instances are cached to reduce the overhead of lookups during the serialization process. Converters are lazily instantiated and so are only created if demanded.
      Parameters:
      type - this is the type to find the converter for
      Returns:
      this returns the converter instance for the type
      Throws:
      Exception
    • bind

      public void bind(Class type, Class converter) throws Exception
      This is used to register a binding between a type and the converter used to serialize and deserialize it. During the serialization process the converters are retrieved and used to convert the object properties to XML.
      Parameters:
      type - this is the object type to bind to a converter
      converter - this is the converter class to be used
      Throws:
      Exception