Search in sources :

Example 6 with SerializerBuilder

use of io.atomix.utils.serializer.SerializerBuilder in project atomix by atomix.

the class AtomicDocumentTreeBuilder method serializer.

/**
 * Returns the protocol serializer.
 *
 * @return the protocol serializer
 */
protected Serializer serializer() {
    if (serializer == null) {
        NamespaceConfig namespaceConfig = this.config.getNamespaceConfig();
        if (namespaceConfig == null) {
            namespaceConfig = new NamespaceConfig();
        }
        SerializerBuilder serializerBuilder = managementService.getSerializationService().newBuilder(name);
        serializerBuilder.withNamespace(new Namespace(namespaceConfig));
        if (config.isRegistrationRequired()) {
            serializerBuilder.withRegistrationRequired();
        }
        if (config.isCompatibleSerialization()) {
            serializerBuilder.withCompatibleSerialization();
        }
        if (config.getNodeType() != null) {
            serializerBuilder.addType(config.getNodeType());
        }
        if (!config.getExtraTypes().isEmpty()) {
            serializerBuilder.withTypes(config.getExtraTypes().toArray(new Class<?>[config.getExtraTypes().size()]));
        }
        serializer = serializerBuilder.build();
    }
    return serializer;
}
Also used : NamespaceConfig(io.atomix.utils.serializer.NamespaceConfig) SerializerBuilder(io.atomix.utils.serializer.SerializerBuilder) Namespace(io.atomix.utils.serializer.Namespace)

Aggregations

Namespace (io.atomix.utils.serializer.Namespace)6 NamespaceConfig (io.atomix.utils.serializer.NamespaceConfig)6 SerializerBuilder (io.atomix.utils.serializer.SerializerBuilder)6