Class DefaultJsonDeserializer<CLASS>
- java.lang.Object
-
- gov.nist.secauto.metaschema.databind.io.AbstractDeserializer<CLASS>
-
- gov.nist.secauto.metaschema.databind.io.json.DefaultJsonDeserializer<CLASS>
-
- All Implemented Interfaces:
IConfiguration<DeserializationFeature<?>>,IMutableConfiguration<DeserializationFeature<?>>,IDeserializer<CLASS>
- Direct Known Subclasses:
DefaultYamlDeserializer
public class DefaultJsonDeserializer<CLASS> extends AbstractDeserializer<CLASS>
-
-
Constructor Summary
Constructors Constructor Description DefaultJsonDeserializer(IAssemblyClassBinding classBinding)Construct a new JSON deserializer that will parse the bound class identified by theclassBinding.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidconfigurationChanged(IMutableConfiguration<T> config)protected INodeItemdeserializeToNodeItemInternal(Reader reader, URI documentUri)This abstract method delegates parsing to the concrete implementation.CLASSdeserializeToValue(Reader reader, URI documentUri)Read data from theReaderinto a node item instance.<V> Vget(T feature)protected IBindingContextgetBindingContext()Retrieve the binding context associated with the serializer.protected IAssemblyClassBindinggetClassBinding()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()protected com.fasterxml.jackson.core.JsonFactorygetJsonFactory()Get the parser factory associated with this deserializer.booleanisFeatureEnabled(T feature)protected com.fasterxml.jackson.core.JsonFactorynewJsonFactoryInstance()Get a JSON factory instance.protected com.fasterxml.jackson.core.JsonParsernewJsonParser(Reader reader)Using the managed JSON factory, create a new JSON parser instance using the provided reader.-
Methods inherited from class gov.nist.secauto.metaschema.databind.io.AbstractDeserializer
applyConfiguration, deserializeToNodeItem, disableFeature, enableFeature, getConstraintValidationHandler, set, setConstraintValidationHandler
-
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.IDeserializer
deserialize, deserialize, deserialize, deserialize, deserialize, deserializeToNodeItem, isValidating
-
-
-
-
Constructor Detail
-
DefaultJsonDeserializer
public DefaultJsonDeserializer(@NonNull IAssemblyClassBinding classBinding)
Construct a new JSON deserializer that will parse the bound class identified by theclassBinding.- Parameters:
classBinding- the bound class information for the Java type this deserializer is operating on
-
-
Method Detail
-
newJsonFactoryInstance
@NonNull protected com.fasterxml.jackson.core.JsonFactory newJsonFactoryInstance()
Get a JSON factory instance.This method can be used by sub-classes to create a customized factory instance.
- Returns:
- the factory
-
getJsonFactory
@NonNull protected com.fasterxml.jackson.core.JsonFactory getJsonFactory()
Get the parser factory associated with this deserializer.- Returns:
- the factory instance
-
newJsonParser
@NonNull protected final com.fasterxml.jackson.core.JsonParser newJsonParser(@NonNull Reader reader) throws IOException
Using the managed JSON factory, create a new JSON parser instance using the provided reader.- Parameters:
reader- the reader for the parser to read data from- Returns:
- the new parser
- Throws:
IOException- if an error occurred while creating the parser
-
deserializeToNodeItemInternal
protected INodeItem deserializeToNodeItemInternal(@NonNull Reader reader, @NonNull URI documentUri) throws IOException
Description copied from class:AbstractDeserializerThis abstract method delegates parsing to the concrete implementation.- Specified by:
deserializeToNodeItemInternalin classAbstractDeserializer<CLASS>- Parameters:
reader- the reader instance to read data fromdocumentUri- the URI of the document that is being read- Returns:
- a new node item containing the read contents
- Throws:
IOException- if an error occurred while reading data from the stream
-
deserializeToValue
public CLASS deserializeToValue(@NonNull Reader reader, @NonNull URI documentUri) throws IOException
Description copied from interface:IDeserializerRead data from theReaderinto a node item instance.- Parameters:
reader- the reader to read fromdocumentUri- the URI of the document to read from- Returns:
- a new node item
- Throws:
IOException- if an error occurred while reading data from the stream
-
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:
isFeatureEnabledin interfaceIConfiguration<T extends IConfigurationFeature<?>>
-
getFeatureValues
public Map<T,Object> getFeatureValues()
- Specified by:
getFeatureValuesin interfaceIConfiguration<T extends IConfigurationFeature<?>>
-
get
public <V> V get(T feature)
- Specified by:
getin interfaceIConfiguration<T extends IConfigurationFeature<?>>
-
-