Module dev.metaschema.databind
Package dev.metaschema.databind.io
Class AbstractSerializer<CLASS extends dev.metaschema.core.model.IBoundObject>
java.lang.Object
dev.metaschema.databind.io.AbstractSerializer<CLASS>
- Type Parameters:
CLASS- the bound class to serialize from
- All Implemented Interfaces:
dev.metaschema.core.configuration.IConfiguration<SerializationFeature<?>>,dev.metaschema.core.configuration.IMutableConfiguration<SerializationFeature<?>>,ISerializer<CLASS>
- Direct Known Subclasses:
DefaultJsonSerializer,DefaultXmlSerializer
public abstract class AbstractSerializer<CLASS extends dev.metaschema.core.model.IBoundObject>
extends Object
implements ISerializer<CLASS>
The base class of all format-specific serializers.
-
Constructor Summary
ConstructorsConstructorDescriptionAbstractSerializer(IBoundDefinitionModelAssembly definition) Construct a new serializer. -
Method Summary
Modifier and TypeMethodDescriptionapplyConfiguration(dev.metaschema.core.configuration.IConfiguration<SerializationFeature<?>> other) protected voidconfigurationChanged(dev.metaschema.core.configuration.IMutableConfiguration<SerializationFeature<?>> config) Callback method invoked when the configuration has been changed.disableFeature(SerializationFeature<?> feature) enableFeature(SerializationFeature<?> feature) <V> Vget(SerializationFeature<?> feature) protected IBindingContextRetrieve the binding context associated with the serializer.protected dev.metaschema.core.configuration.IMutableConfiguration<SerializationFeature<?>>Get the current configuration of the serializer/deserializer.protected IBoundDefinitionModelAssemblyRetrieve the bound class information associated with the assembly that the serializer/deserializer will write/read data from.booleanisFeatureEnabled(SerializationFeature<?> feature) set(SerializationFeature<?> feature, Object value) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface dev.metaschema.core.configuration.IConfiguration
get, getFeatureValues, isFeatureEnabledMethods inherited from interface dev.metaschema.databind.io.ISerializer
serialize, serialize, serialize, serialize
-
Constructor Details
-
AbstractSerializer
Construct a new serializer.- Parameters:
definition- the bound class information for the Java type this serializer is operating on
-
-
Method Details
-
enableFeature
- Specified by:
enableFeaturein interfacedev.metaschema.core.configuration.IMutableConfiguration<CLASS extends dev.metaschema.core.model.IBoundObject>- Specified by:
enableFeaturein interfaceISerializer<CLASS extends dev.metaschema.core.model.IBoundObject>
-
disableFeature
- Specified by:
disableFeaturein interfacedev.metaschema.core.configuration.IMutableConfiguration<CLASS extends dev.metaschema.core.model.IBoundObject>- Specified by:
disableFeaturein interfaceISerializer<CLASS extends dev.metaschema.core.model.IBoundObject>
-
applyConfiguration
public ISerializer<CLASS> applyConfiguration(@NonNull dev.metaschema.core.configuration.IConfiguration<SerializationFeature<?>> other) - Specified by:
applyConfigurationin interfacedev.metaschema.core.configuration.IMutableConfiguration<CLASS extends dev.metaschema.core.model.IBoundObject>- Specified by:
applyConfigurationin interfaceISerializer<CLASS extends dev.metaschema.core.model.IBoundObject>
-
set
- Specified by:
setin interfacedev.metaschema.core.configuration.IMutableConfiguration<CLASS extends dev.metaschema.core.model.IBoundObject>- Specified by:
setin interfaceISerializer<CLASS extends dev.metaschema.core.model.IBoundObject>
-
getBindingContext
Retrieve the binding context associated with the serializer.- Returns:
- the binding context
-
getDefinition
Retrieve the bound class information associated with the assembly that the serializer/deserializer will write/read data from.- Returns:
- the class binding for the Module assembly
-
configurationChanged
protected void configurationChanged(@NonNull dev.metaschema.core.configuration.IMutableConfiguration<SerializationFeature<?>> config) Callback method invoked when the configuration has been changed.Subclasses can override this method to handle configuration changes, such as resetting cached factory instances.
- Parameters:
config- the updated configuration
-
getConfiguration
@NonNull protected dev.metaschema.core.configuration.IMutableConfiguration<SerializationFeature<?>> getConfiguration()Get the current configuration of the serializer/deserializer.- Returns:
- the configuration
-
isFeatureEnabled
- Specified by:
isFeatureEnabledin interfacedev.metaschema.core.configuration.IConfiguration<T extends dev.metaschema.core.configuration.IConfigurationFeature<?>>
-
getFeatureValues
- Specified by:
getFeatureValuesin interfacedev.metaschema.core.configuration.IConfiguration<T extends dev.metaschema.core.configuration.IConfigurationFeature<?>>
-
get
- Specified by:
getin interfacedev.metaschema.core.configuration.IConfiguration<T extends dev.metaschema.core.configuration.IConfigurationFeature<?>>
-