Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.fasterxml.jackson.databind.jsontype.impl
Class AsPropertyTypeDeserializer

    java.lang.Object
      com.fasterxml.jackson.databind.jsontype.TypeDeserializer
          com.fasterxml.jackson.databind.jsontype.impl.TypeDeserializerBase
              com.fasterxml.jackson.databind.jsontype.impl.AsArrayTypeDeserializer
                  com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer

    public class AsPropertyTypeDeserializer

extends AsArrayTypeDeserializer

Type deserializer used with `JsonTypeInfo.As.PROPERTY` inclusion mechanism. Uses regular form (additional key/value entry before actual data) when typed object is expressed as JSON Object; otherwise behaves similar to how `JsonTypeInfo.As.WRAPPER_ARRAY` works. Latter is used if JSON representation is polymorphic

Author:
  tatu

Field Summary

Fields inherited from class com.fasterxml.jackson.databind.jsontype.impl.TypeDeserializerBase
`_baseType, _defaultImpl, _defaultImplDeserializer, _deserializers, _idResolver, _property, _typeIdVisible, _typePropertyName`

Constructor Summary
`AsPropertyTypeDeserializer(AsPropertyTypeDeserializer src, BeanProperty property)`
`AsPropertyTypeDeserializer(JavaType bt, TypeIdResolver idRes, String typePropertyName, boolean typeIdVisible, Class<?> defaultImpl)`

Method Summary
`protected Object` | `_deserializeIfNatural(com.fasterxml.jackson.core.JsonParser jp, DeserializationContext ctxt)` Helper method used to check if given parser might be pointing to a "natural" value, and one that would be acceptable as the result value (compatible with declared base type)
`protected Object` | `_deserializeTypedForId(com.fasterxml.jackson.core.JsonParser jp, DeserializationContext ctxt, TokenBuffer tb)`
`protected Object` | `_deserializeTypedUsingDefaultImpl(com.fasterxml.jackson.core.JsonParser jp, DeserializationContext ctxt, TokenBuffer tb)`
`Object` | `deserializeTypedFromAny(com.fasterxml.jackson.core.JsonParser jp, DeserializationContext ctxt)` Method called to let this type deserializer handle deserialization of "typed" object, when value itself may have been serialized using any kind of JSON value (Array, Object, scalar).
`Object` | `deserializeTypedFromObject(com.fasterxml.jackson.core.JsonParser jp, DeserializationContext ctxt)` This is the trickiest thing to handle, since property we are looking for may be anywhere...
`TypeDeserializer` | `forProperty(BeanProperty prop)` Method called to create contextual version, to be used for values of given property.
`com.fasterxml.jackson.annotation.JsonTypeInfo.As` | `getTypeInclusion()` Accessor for type information inclusion method that deserializer uses; indicates how type information is (expected to be) embedded in JSON input.

Methods inherited from class com.fasterxml.jackson.databind.jsontype.impl.AsArrayTypeDeserializer
`_locateTypeId, deserializeTypedFromArray, deserializeTypedFromScalar`

Methods inherited from class com.fasterxml.jackson.databind.jsontype.impl.TypeDeserializerBase
`_findDefaultImplDeserializer, _findDeserializer, baseTypeName, getDefaultImpl, getPropertyName, getTypeIdResolver, toString`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### AsPropertyTypeDeserializer

    public AsPropertyTypeDeserializer(JavaType bt,
                                      TypeIdResolver idRes,
                                      String typePropertyName,
                                      boolean typeIdVisible,
                                      Class<?> defaultImpl)

### AsPropertyTypeDeserializer

    public AsPropertyTypeDeserializer(AsPropertyTypeDeserializer src,
                                      BeanProperty property)

Method Detail

### forProperty

    public TypeDeserializer forProperty(BeanProperty prop)

  Description copied from class: `TypeDeserializer`
  Method called to create contextual version, to be used for values of given property. This may be the type itself (as is the case for bean properties), or values contained (for `Collection` or `Map` valued properties).

  Overrides:
    `forProperty` in class `AsArrayTypeDeserializer`

### getTypeInclusion

    public com.fasterxml.jackson.annotation.JsonTypeInfo.As getTypeInclusion()

  Description copied from class: `TypeDeserializer`
  Accessor for type information inclusion method that deserializer uses; indicates how type information is (expected to be) embedded in JSON input.

  Overrides:
    `getTypeInclusion` in class `AsArrayTypeDeserializer`

### deserializeTypedFromObject

    public Object deserializeTypedFromObject(com.fasterxml.jackson.core.JsonParser jp,
                                             DeserializationContext ctxt)
                                      throws IOException,
                                             com.fasterxml.jackson.core.JsonProcessingException

  This is the trickiest thing to handle, since property we are looking for may be anywhere...

  Overrides:
    `deserializeTypedFromObject` in class `AsArrayTypeDeserializer`
  Throws:
    `IOException`
    `com.fasterxml.jackson.core.JsonProcessingException`

### _deserializeTypedForId

    protected final Object _deserializeTypedForId(com.fasterxml.jackson.core.JsonParser jp,
                                                  DeserializationContext ctxt,
                                                  TokenBuffer tb)
                                           throws IOException,
                                                  com.fasterxml.jackson.core.JsonProcessingException

  Throws:
    `IOException`
    `com.fasterxml.jackson.core.JsonProcessingException`

### _deserializeTypedUsingDefaultImpl

    protected Object _deserializeTypedUsingDefaultImpl(com.fasterxml.jackson.core.JsonParser jp,
                                                       DeserializationContext ctxt,
                                                       TokenBuffer tb)
                                                throws IOException,
                                                       com.fasterxml.jackson.core.JsonProcessingException

  Throws:
    `IOException`
    `com.fasterxml.jackson.core.JsonProcessingException`

### deserializeTypedFromAny

    public Object deserializeTypedFromAny(com.fasterxml.jackson.core.JsonParser jp,
                                          DeserializationContext ctxt)
                                   throws IOException,
                                          com.fasterxml.jackson.core.JsonProcessingException

  Description copied from class: `TypeDeserializer`
  Method called to let this type deserializer handle deserialization of "typed" object, when value itself may have been serialized using any kind of JSON value (Array, Object, scalar). Should only be called if JSON serialization is polymorphic (not Java type); for example when using JSON node representation, or "untyped" Java object (which may be Map, Collection, wrapper/primitive etc).

  Overrides:
    `deserializeTypedFromAny` in class `AsArrayTypeDeserializer`
  Throws:
    `IOException`
    `com.fasterxml.jackson.core.JsonProcessingException`

### _deserializeIfNatural

    protected Object _deserializeIfNatural(com.fasterxml.jackson.core.JsonParser jp,
                                           DeserializationContext ctxt)
                                    throws IOException,
                                           com.fasterxml.jackson.core.JsonProcessingException

  Helper method used to check if given parser might be pointing to a "natural" value, and one that would be acceptable as the result value (compatible with declared base type)

  Throws:
    `IOException`
    `com.fasterxml.jackson.core.JsonProcessingException`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2012 fasterxml.com. All Rights Reserved.