Class AbstractIoRegistry

  • All Implemented Interfaces:
    IoRegistry

    public abstract class AbstractIoRegistry
    extends Object
    implements IoRegistry
    Base implementation of the IoRegistry interface that provides implementation of the methods using a a HashMap. Providers should extend from this class if they have custom serializers to provide to IO instances. Simply register their classes to it via the provided register(Class, Class, Object) method.

    It is important that implementations provide a zero-arg constructor as there may be cases where it will need to be constructed via reflection. As such, calls to register(Class, Class, Object) should likely occur directly in the constructor.

    Author:
    Stephen Mallette (http://stephen.genoprime.com)
    • Constructor Detail

      • AbstractIoRegistry

        public AbstractIoRegistry()
    • Method Detail

      • register

        protected void register​(Class<? extends Io> ioClass,
                                Class clazz,
                                Object serializer)
        Add a "serializer" for the Mapper. Note that what is accepted as a "serializer" is implementation specific. An Io implementation will consult this registry for "serializer" classes it expects so refer to the Io implementation to understand what is expected for these values.
        Parameters:
        clazz - usually this is the class that is to be serialized - may be null
        serializer - a serializer implementation
      • find

        public List<org.javatuples.Pair<Class,​Object>> find​(Class<? extends Io> builderClass)
        Find a list of all the serializers registered to an Io class by the Graph.
        Specified by:
        find in interface IoRegistry
      • find

        public <S> List<org.javatuples.Pair<Class,​S>> find​(Class<? extends Io> builderClass,
                                                                 Class<S> serializerType)
        Find a list of all the serializers, of a particular type, registered to an Io class by the Graph.
        Specified by:
        find in interface IoRegistry