public interface ExtensionJsonSerializer<T extends Extendable,E extends Extension<T>> extends ExtensionProvider<T,E>
ExtensionProvider
able to serialize/deserialize extensions from JSON.Modifier and Type | Method and Description |
---|---|
E |
deserialize(com.fasterxml.jackson.core.JsonParser jsonParser,
com.fasterxml.jackson.databind.DeserializationContext deserializationContext)
Deserializes the provided JSON to an extension of type
E . |
default E |
deserializeAndUpdate(com.fasterxml.jackson.core.JsonParser jsonParser,
com.fasterxml.jackson.databind.DeserializationContext deserializationContext,
E extension)
Deserializes the provided JSON to update the provided extension.
|
void |
serialize(E extension,
com.fasterxml.jackson.core.JsonGenerator jsonGenerator,
com.fasterxml.jackson.databind.SerializerProvider serializerProvider)
Serializes the provided extension to JSON.
|
getCategoryName, getExtensionClass, getExtensionName
void serialize(E extension, com.fasterxml.jackson.core.JsonGenerator jsonGenerator, com.fasterxml.jackson.databind.SerializerProvider serializerProvider) throws IOException
IOException
E deserialize(com.fasterxml.jackson.core.JsonParser jsonParser, com.fasterxml.jackson.databind.DeserializationContext deserializationContext) throws IOException
E
.IOException
default E deserializeAndUpdate(com.fasterxml.jackson.core.JsonParser jsonParser, com.fasterxml.jackson.databind.DeserializationContext deserializationContext, E extension) throws IOException
The default implementation only returns a new object as provided by deserialize(JsonParser, DeserializationContext)
,
therefore interface implementations must provide their own implementation if they want the extension to actually be updatable from JSON.
IOException
Copyright © 2020. All rights reserved.