Class ExternalTypeHandler
- java.lang.Object
-
- org.codehaus.jackson.map.deser.impl.ExternalTypeHandler
-
public class ExternalTypeHandler extends java.lang.Object
Helper class that is used to flatten JSON structure when using "external type id" (seeJsonTypeInfo.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.- Since:
- 1.9
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ExternalTypeHandler.Builder
-
Constructor Summary
Constructors Modifier Constructor Description protected
ExternalTypeHandler(ExternalTypeHandler h)
protected
ExternalTypeHandler(org.codehaus.jackson.map.deser.impl.ExternalTypeHandler.ExtTypedProperty[] properties, java.util.HashMap<java.lang.String,java.lang.Integer> nameToPropertyIndex, java.lang.String[] typeIds, TokenBuffer[] tokens)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
_deserialize(JsonParser jp, DeserializationContext ctxt, java.lang.Object bean, int index)
java.lang.Object
complete(JsonParser jp, DeserializationContext ctxt, java.lang.Object bean)
boolean
handleToken(JsonParser jp, DeserializationContext ctxt, java.lang.String propName, java.lang.Object bean)
Method called to ask handler to handleboolean
handleTypePropertyValue(JsonParser jp, DeserializationContext ctxt, java.lang.String propName, java.lang.Object bean)
Method called to see if given property/value pair is an external type id; and if so handle it.ExternalTypeHandler
start()
-
-
-
Constructor Detail
-
ExternalTypeHandler
protected ExternalTypeHandler(org.codehaus.jackson.map.deser.impl.ExternalTypeHandler.ExtTypedProperty[] properties, java.util.HashMap<java.lang.String,java.lang.Integer> nameToPropertyIndex, java.lang.String[] typeIds, TokenBuffer[] tokens)
-
ExternalTypeHandler
protected ExternalTypeHandler(ExternalTypeHandler h)
-
-
Method Detail
-
start
public ExternalTypeHandler start()
-
handleTypePropertyValue
public boolean handleTypePropertyValue(JsonParser jp, DeserializationContext ctxt, java.lang.String propName, java.lang.Object bean) throws java.io.IOException, JsonProcessingException
Method called to see if given property/value pair is an external type id; and if so handle it. This is only to be called in case containing POJO has similarly named property as the external type id; otherwisehandleToken(org.codehaus.jackson.JsonParser, org.codehaus.jackson.map.DeserializationContext, java.lang.String, java.lang.Object)
should be called instead.- Throws:
java.io.IOException
JsonProcessingException
-
handleToken
public boolean handleToken(JsonParser jp, DeserializationContext ctxt, java.lang.String propName, java.lang.Object bean) throws java.io.IOException, JsonProcessingException
Method called to ask handler to handle- Throws:
java.io.IOException
JsonProcessingException
-
complete
public java.lang.Object complete(JsonParser jp, DeserializationContext ctxt, java.lang.Object bean) throws java.io.IOException, JsonProcessingException
- Throws:
java.io.IOException
JsonProcessingException
-
_deserialize
protected final void _deserialize(JsonParser jp, DeserializationContext ctxt, java.lang.Object bean, int index) throws java.io.IOException, JsonProcessingException
- Throws:
java.io.IOException
JsonProcessingException
-
-