Class GryoMapper.Builder
- java.lang.Object
-
- org.apache.tinkerpop.gremlin.structure.io.gryo.GryoMapper.Builder
-
- All Implemented Interfaces:
Mapper.Builder<GryoMapper.Builder>
- Enclosing class:
- GryoMapper
public static class GryoMapper.Builder extends Object implements Mapper.Builder<GryoMapper.Builder>
A builder to construct aGryoMapper
instance.
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description GryoMapper.Builder
addCustom(Class... custom)
Register custom classes to serializes with gryo using default serialization.GryoMapper.Builder
addCustom(Class clazz, Function<org.apache.tinkerpop.shaded.kryo.Kryo,org.apache.tinkerpop.shaded.kryo.Serializer> functionOfKryo)
Register a custom class to serialize with a custom serializer as returned from aFunction
.GryoMapper.Builder
addCustom(Class clazz, SerializerShim serializer)
Register custom class to serialize with a custom serialization shim.GryoMapper.Builder
addCustom(Class clazz, org.apache.tinkerpop.shaded.kryo.Serializer serializer)
Register custom class to serialize with a custom serialization class.GryoMapper.Builder
addRegistry(IoRegistry registry)
Adds a vendor suppliedIoRegistry
to theMapper.Builder
which enables it to check for vendor custom serializers to add to theMapper
.GryoMapper.Builder
classResolver(Supplier<org.apache.tinkerpop.shaded.kryo.ClassResolver> classResolverSupplier)
Provides a custom KryoClassResolver
to be supplied to aKryo
instance.GryoMapper
create()
Creates aGryoMapper
.GryoMapper.Builder
referenceTracking(boolean referenceTracking)
By default, each appearance of an object in the graph after the first is stored as an integer ordinal.GryoMapper.Builder
registrationRequired(boolean registrationRequired)
When set totrue
, all classes serialized by theKryo
instances created from thisGryoMapper
must have their classes known up front and registered appropriately through this builder.GryoMapper.Builder
version(GryoVersion version)
The version of Gryo to use in the mapper.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.tinkerpop.gremlin.structure.io.Mapper.Builder
addRegistries
-
-
-
-
Method Detail
-
addRegistry
public GryoMapper.Builder addRegistry(IoRegistry registry)
Adds a vendor suppliedIoRegistry
to theMapper.Builder
which enables it to check for vendor custom serializers to add to theMapper
. AllIo
implementations should expose this method via thisMapper.Builder
so that it is compatible withGraph.io(org.apache.tinkerpop.gremlin.structure.io.Io.Builder<I>)
. Successive calls to this method will add multiple registries. Registry order must be respected when doing so. In other words, data written withIoRegistry
A
added first andB
second must be read by aMapper
with that same registry ordering. Attempting to addB
beforeA
will result in errors.- Specified by:
addRegistry
in interfaceMapper.Builder<GryoMapper.Builder>
-
version
public GryoMapper.Builder version(GryoVersion version)
The version of Gryo to use in the mapper. Defaults to 1.0. Calls to this method will reset values specified toaddCustom(Class, Function)
and related overloads.
-
classResolver
public GryoMapper.Builder classResolver(Supplier<org.apache.tinkerpop.shaded.kryo.ClassResolver> classResolverSupplier)
Provides a custom KryoClassResolver
to be supplied to aKryo
instance. If this value is not supplied then it will default to theClassResolver
of the providedGryoVersion
. To ensure compatibility with Gryo it is highly recommended that objects passed to this method extend that class. If theClassResolver
implementation share state, then theSupplier
should typically create new instances when requested, as theSupplier
will be called for eachKryo
instance created.
-
addCustom
public GryoMapper.Builder addCustom(Class... custom)
Register custom classes to serializes with gryo using default serialization. Note that calling this method for a class that is already registered will override that registration.
-
addCustom
public GryoMapper.Builder addCustom(Class clazz, org.apache.tinkerpop.shaded.kryo.Serializer serializer)
Register custom class to serialize with a custom serialization class. Note that calling this method for a class that is already registered will override that registration.
-
addCustom
public GryoMapper.Builder addCustom(Class clazz, SerializerShim serializer)
Register custom class to serialize with a custom serialization shim.
-
addCustom
public GryoMapper.Builder addCustom(Class clazz, Function<org.apache.tinkerpop.shaded.kryo.Kryo,org.apache.tinkerpop.shaded.kryo.Serializer> functionOfKryo)
Register a custom class to serialize with a custom serializer as returned from aFunction
. Note that calling this method for a class that is already registered will override that registration.
-
registrationRequired
public GryoMapper.Builder registrationRequired(boolean registrationRequired)
When set totrue
, all classes serialized by theKryo
instances created from thisGryoMapper
must have their classes known up front and registered appropriately through this builder. By default this value istrue
. This approach is more efficient than setting the value tofalse
.- Parameters:
registrationRequired
- set totrue
if the classes should be registered up front orfalse
otherwise
-
referenceTracking
public GryoMapper.Builder referenceTracking(boolean referenceTracking)
By default, each appearance of an object in the graph after the first is stored as an integer ordinal. This allows multiple references to the same object and cyclic graphs to be serialized. This has a small amount of overhead and can be disabled to save space if it is not needed.- Parameters:
referenceTracking
- set totrue
to enable andfalse
otherwise
-
create
public GryoMapper create()
Creates aGryoMapper
.
-
-