Class AbstractIoRegistry

java.lang.Object
org.apache.tinkerpop.gremlin.structure.io.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 Details

    • AbstractIoRegistry

      public AbstractIoRegistry()
  • Method Details

    • 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