public class ExternalTypeHandler extends Object
JsonTypeInfo.As.EXTERNAL_PROPERTY
).
This is needed to store temporary state and buffer tokens, as the structure is
rearranged a bit so that actual type deserializer can resolve type and
finalize deserialization.Modifier and Type | Class and Description |
---|---|
static class |
ExternalTypeHandler.Builder |
Modifier | Constructor and Description |
---|---|
protected |
ExternalTypeHandler(com.fasterxml.jackson.databind.deser.impl.ExternalTypeHandler.ExtTypedProperty[] properties,
HashMap<String,Integer> nameToPropertyIndex,
String[] typeIds,
TokenBuffer[] tokens) |
protected |
ExternalTypeHandler(ExternalTypeHandler h) |
Modifier and Type | Method and Description |
---|---|
protected Object |
_deserialize(JsonParser jp,
DeserializationContext ctxt,
int index,
String typeId) |
protected void |
_deserializeAndSet(JsonParser jp,
DeserializationContext ctxt,
Object bean,
int index,
String typeId) |
Object |
complete(JsonParser jp,
DeserializationContext ctxt,
Object bean) |
Object |
complete(JsonParser jp,
DeserializationContext ctxt,
PropertyValueBuffer buffer,
PropertyBasedCreator creator)
Variant called when creation of the POJO involves buffering of creator properties
as well as property-based creator.
|
boolean |
handlePropertyValue(JsonParser jp,
DeserializationContext ctxt,
String propName,
Object bean)
Method called to ask handler to handle value of given property,
at point where parser points to the first token of the value.
|
boolean |
handleTypePropertyValue(JsonParser jp,
DeserializationContext ctxt,
String propName,
Object bean)
Method called to see if given property/value pair is an external type
id; and if so handle it.
|
ExternalTypeHandler |
start() |
protected ExternalTypeHandler(com.fasterxml.jackson.databind.deser.impl.ExternalTypeHandler.ExtTypedProperty[] properties, HashMap<String,Integer> nameToPropertyIndex, String[] typeIds, TokenBuffer[] tokens)
protected ExternalTypeHandler(ExternalTypeHandler h)
public ExternalTypeHandler start()
public boolean handleTypePropertyValue(JsonParser jp, DeserializationContext ctxt, String propName, Object bean) throws IOException, JsonProcessingException
handlePropertyValue(com.fasterxml.jackson.core.JsonParser, com.fasterxml.jackson.databind.DeserializationContext, java.lang.String, java.lang.Object)
should be called instead.IOException
JsonProcessingException
public boolean handlePropertyValue(JsonParser jp, DeserializationContext ctxt, String propName, Object bean) throws IOException, JsonProcessingException
IOException
JsonProcessingException
public Object complete(JsonParser jp, DeserializationContext ctxt, Object bean) throws IOException, JsonProcessingException
IOException
JsonProcessingException
public Object complete(JsonParser jp, DeserializationContext ctxt, PropertyValueBuffer buffer, PropertyBasedCreator creator) throws IOException, JsonProcessingException
IOException
JsonProcessingException
protected final Object _deserialize(JsonParser jp, DeserializationContext ctxt, int index, String typeId) throws IOException, JsonProcessingException
IOException
JsonProcessingException
protected final void _deserializeAndSet(JsonParser jp, DeserializationContext ctxt, Object bean, int index, String typeId) throws IOException, JsonProcessingException
IOException
JsonProcessingException
Copyright © 2014 FasterXML. All Rights Reserved.