Package io.atomix.utils.serializer
Class NamespaceImpl.Builder
- java.lang.Object
-
- io.atomix.utils.serializer.NamespaceImpl.Builder
-
- Enclosing class:
- NamespaceImpl
public static final class NamespaceImpl.Builder extends Object
KryoNamespace builder.
-
-
Constructor Summary
Constructors Constructor Description Builder()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description NamespaceImplbuild()Builds aNamespaceinstance.NamespaceImpl.Buildercopy()Creates a copy of the builder.StringgetName()NamespaceImpl.Buildername(String name)NamespaceImpl.BuildernextId(int id)Sets the next Kryo registration Id for following register entries.NamespaceImpl.Builderregister(com.esotericsoftware.kryo.Serializer<?> serializer, Class<?>... classes)Registers serializer for the given set of classes.NamespaceImpl.Builderregister(Namespace ns)Registers all the class registered to given KryoNamespace.NamespaceImpl.Builderregister(Class<?>... expectedTypes)Registers classes to be serialized using Kryo default serializer.NamespaceImpl.BuildersetClassLoader(ClassLoader classLoader)Sets the namespace class loader.NamespaceImpl.BuildersetCompatible(boolean compatible)Sets whether backwards/forwards compatible versioned serialization is enabled.NamespaceImpl.BuildersetRegistrationRequired(boolean registrationRequired)Sets the registrationRequired flag.
-
-
-
Method Detail
-
build
public NamespaceImpl build()
Builds aNamespaceinstance.- Returns:
- KryoNamespace
-
name
public NamespaceImpl.Builder name(String name)
-
getName
public String getName()
-
nextId
public NamespaceImpl.Builder nextId(int id)
Sets the next Kryo registration Id for following register entries.- Parameters:
id- Kryo registration Id- Returns:
- this
- See Also:
Kryo.register(Class, Serializer, int)
-
register
public NamespaceImpl.Builder register(Class<?>... expectedTypes)
Registers classes to be serialized using Kryo default serializer.- Parameters:
expectedTypes- list of classes- Returns:
- this
-
register
public NamespaceImpl.Builder register(com.esotericsoftware.kryo.Serializer<?> serializer, Class<?>... classes)
Registers serializer for the given set of classes.When multiple classes are registered with an explicitly provided serializer, the namespace guarantees all instances will be serialized with the same type ID.
- Parameters:
classes- list of classes to registerserializer- serializer to use for the class- Returns:
- this
-
register
public NamespaceImpl.Builder register(Namespace ns)
Registers all the class registered to given KryoNamespace.- Parameters:
ns- KryoNamespace- Returns:
- this
-
setClassLoader
public NamespaceImpl.Builder setClassLoader(ClassLoader classLoader)
Sets the namespace class loader.- Parameters:
classLoader- the namespace class loader- Returns:
- the namespace builder
-
setCompatible
public NamespaceImpl.Builder setCompatible(boolean compatible)
Sets whether backwards/forwards compatible versioned serialization is enabled.When compatible serialization is enabled, the
CompatibleFieldSerializerwill be set as the default serializer for types that do not otherwise explicitly specify a serializer.- Parameters:
compatible- whether versioned serialization is enabled- Returns:
- this
-
setRegistrationRequired
public NamespaceImpl.Builder setRegistrationRequired(boolean registrationRequired)
Sets the registrationRequired flag.- Parameters:
registrationRequired- Kryo's registrationRequired flag- Returns:
- this
- See Also:
Kryo.setRegistrationRequired(boolean)
-
copy
public NamespaceImpl.Builder copy()
Creates a copy of the builder.- Returns:
- copy of this builder
-
-