Class AbstractSerializer<CLASS>
- java.lang.Object
-
- gov.nist.secauto.metaschema.databind.io.AbstractSerializer<CLASS>
-
- Type Parameters:
CLASS
- the bound class to serialize from
- All Implemented Interfaces:
IConfiguration<SerializationFeature<?>>
,IMutableConfiguration<SerializationFeature<?>>
,ISerializer<CLASS>
- Direct Known Subclasses:
DefaultJsonSerializer
,DefaultXmlSerializer
public abstract class AbstractSerializer<CLASS> extends Object implements ISerializer<CLASS>
The base class of all format-specific serializers.
-
-
Constructor Summary
Constructors Constructor Description AbstractSerializer(IAssemblyClassBinding classBinding)
Construct a new serializer.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ISerializer<CLASS>
applyConfiguration(IConfiguration<SerializationFeature<?>> other)
protected void
configurationChanged(IMutableConfiguration<T> config)
ISerializer<CLASS>
disableFeature(SerializationFeature<?> feature)
ISerializer<CLASS>
enableFeature(SerializationFeature<?> feature)
<V> V
get(T feature)
protected IBindingContext
getBindingContext()
Retrieve the binding context associated with the serializer.protected IAssemblyClassBinding
getClassBinding()
Retrieve the bound class information associated with the assembly that the serializer/deserializer will write/read data from.protected IMutableConfiguration<T>
getConfiguration()
Get the current configuration of the serializer/deserializer.Map<T,Object>
getFeatureValues()
boolean
isFeatureEnabled(T feature)
ISerializer<CLASS>
set(SerializationFeature<?> feature, Object value)
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface gov.nist.secauto.metaschema.core.configuration.IConfiguration
get, getFeatureValues, isFeatureEnabled
-
Methods inherited from interface gov.nist.secauto.metaschema.databind.io.ISerializer
serialize, serialize, serialize, serialize
-
-
-
-
Constructor Detail
-
AbstractSerializer
public AbstractSerializer(@NonNull IAssemblyClassBinding classBinding)
Construct a new serializer.- Parameters:
classBinding
- the bound class information for the Java type this serializer is operating on
-
-
Method Detail
-
enableFeature
public ISerializer<CLASS> enableFeature(SerializationFeature<?> feature)
- Specified by:
enableFeature
in interfaceIMutableConfiguration<CLASS>
- Specified by:
enableFeature
in interfaceISerializer<CLASS>
-
disableFeature
public ISerializer<CLASS> disableFeature(SerializationFeature<?> feature)
- Specified by:
disableFeature
in interfaceIMutableConfiguration<CLASS>
- Specified by:
disableFeature
in interfaceISerializer<CLASS>
-
applyConfiguration
public ISerializer<CLASS> applyConfiguration(@NonNull IConfiguration<SerializationFeature<?>> other)
- Specified by:
applyConfiguration
in interfaceIMutableConfiguration<CLASS>
- Specified by:
applyConfiguration
in interfaceISerializer<CLASS>
-
set
public ISerializer<CLASS> set(SerializationFeature<?> feature, Object value)
- Specified by:
set
in interfaceIMutableConfiguration<CLASS>
- Specified by:
set
in interfaceISerializer<CLASS>
-
getBindingContext
@NonNull protected IBindingContext getBindingContext()
Retrieve the binding context associated with the serializer.- Returns:
- the binding context
-
getClassBinding
@NonNull protected IAssemblyClassBinding getClassBinding()
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 IMutableConfiguration<T> config)
-
getConfiguration
@NonNull protected IMutableConfiguration<T> getConfiguration()
Get the current configuration of the serializer/deserializer.- Returns:
- the configuration
-
isFeatureEnabled
public boolean isFeatureEnabled(T feature)
- Specified by:
isFeatureEnabled
in interfaceIConfiguration<T extends IConfigurationFeature<?>>
-
getFeatureValues
public Map<T,Object> getFeatureValues()
- Specified by:
getFeatureValues
in interfaceIConfiguration<T extends IConfigurationFeature<?>>
-
get
public <V> V get(T feature)
- Specified by:
get
in interfaceIConfiguration<T extends IConfigurationFeature<?>>
-
-