Class AsPropertyTypeDeserializer

Direct Known Subclasses:
AsDeductionTypeDeserializer

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
  • Field Details

    • _inclusion

      protected final JsonTypeInfo.As _inclusion
    • _strictTypeIdHandling

      protected final boolean _strictTypeIdHandling
      Indicates that we should be strict about handling missing type information.
      Since:
      2.15
    • _msgForMissingId

      protected final String _msgForMissingId
  • Constructor Details

  • Method Details

    • 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 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(tools.jackson.core.JsonParser p, DeserializationContext ctxt) throws tools.jackson.core.JacksonException
      This is the trickiest thing to handle, since property we are looking for may be anywhere...
      Overrides:
      deserializeTypedFromObject in class AsArrayTypeDeserializer
      Throws:
      tools.jackson.core.JacksonException
    • _deserializeTypedForId

      protected Object _deserializeTypedForId(tools.jackson.core.JsonParser p, DeserializationContext ctxt, TokenBuffer tb, String typeId) throws tools.jackson.core.JacksonException
      Throws:
      tools.jackson.core.JacksonException
    • _deserializeTypedUsingDefaultImpl

      protected Object _deserializeTypedUsingDefaultImpl(tools.jackson.core.JsonParser p, DeserializationContext ctxt, TokenBuffer tb, String priorFailureMsg) throws tools.jackson.core.JacksonException
      Throws:
      tools.jackson.core.JacksonException
    • deserializeTypedFromAny

      public Object deserializeTypedFromAny(tools.jackson.core.JsonParser p, DeserializationContext ctxt) throws tools.jackson.core.JacksonException
      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:
      tools.jackson.core.JacksonException