org.apache.tinkerpop.gremlin.structure.io.gryo

## 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 a `GryoMapper` instance.

- - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and 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 a `Function`.
    `GryoMapper.Builder` | `addCustom(Class clazz, org.apache.tinkerpop.shaded.kryo.Serializer serializer)` Register custom class to serialize with a custom serialization class.
    `GryoMapper.Builder` | `addCustom(Class clazz, SerializerShim serializer)` Register custom class to serialize with a custom serialization shim.
    `GryoMapper.Builder` | `addRegistry(IoRegistry registry)` Adds a vendor supplied `IoRegistry` to the `Mapper.Builder` which enables it to check for vendor custom serializers to add to the `Mapper`.
    `GryoMapper.Builder` | `classResolver(Supplier<org.apache.tinkerpop.shaded.kryo.ClassResolver> classResolverSupplier)` Provides a custom Kryo `ClassResolver` to be supplied to a `Kryo` instance.
    `GryoMapper` | `create()` Creates a `GryoMapper`.
    `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 to `true`, all classes serialized by the `Kryo` instances created from this `GryoMapper` 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 supplied `IoRegistry` to the `Mapper.Builder` which enables it to check for vendor custom serializers to add to the `Mapper`. All `Io` implementations should expose this method via this `Mapper.Builder` so that it is compatible with `Graph.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 with `IoRegistry` `A` added first and `B` second must be read by a `Mapper` with that same registry ordering. Attempting to add `B` before `A` will result in errors.
      Specified by:
        `addRegistry` in interface `Mapper.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 to `addCustom(Class, Function)` and related overloads.

    - #### classResolver

          public GryoMapper.Builder classResolver(Supplier<org.apache.tinkerpop.shaded.kryo.ClassResolver> classResolverSupplier)

      Provides a custom Kryo `ClassResolver` to be supplied to a `Kryo` instance. If this value is not supplied then it will default to the `ClassResolver` of the provided `GryoVersion`. To ensure compatibility with Gryo it is highly recommended that objects passed to this method extend that class.

      If the `ClassResolver` implementation share state, then the `Supplier` should typically create new instances when requested, as the `Supplier` will be called for each `Kryo` 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 a `Function`. 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 to `true`, all classes serialized by the `Kryo` instances created from this `GryoMapper` must have their classes known up front and registered appropriately through this builder. By default this value is `true`. This approach is more efficient than setting the value to `false`.
      Parameters:
        `registrationRequired` - set to `true` if the classes should be registered up front or `false` 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 to `true` to enable and `false` otherwise

    - #### create

          public GryoMapper create()

      Creates a `GryoMapper`.

Copyright © 2013–2022 Apache Software Foundation. All rights reserved.