Class SettableBeanProperty

java.lang.Object
org.codehaus.jackson.map.deser.SettableBeanProperty
All Implemented Interfaces:
BeanProperty, Named
Direct Known Subclasses:
CreatorProperty, SettableBeanProperty.FieldProperty, SettableBeanProperty.InnerClassProperty, SettableBeanProperty.ManagedReferenceProperty, SettableBeanProperty.MethodProperty, SettableBeanProperty.SetterlessProperty

public abstract class SettableBeanProperty extends Object implements BeanProperty
Base class for settable properties of a bean: contains both type and name definitions, and reflection-based set functionality. Concrete sub-classes implement details, so that both field- and setter-backed properties can be handled
  • Field Details

    • _propName

      protected final String _propName
      Logical name of the property (often but not always derived from the setter method name)
    • _type

      protected final JavaType _type
      Base type for property; may be a supertype of actual value.
    • _contextAnnotations

      protected final Annotations _contextAnnotations
      Class that contains this property (either class that declares the property or one of its subclasses), class that is deserialized using deserializer that contains this property.
    • _valueDeserializer

      protected JsonDeserializer<Object> _valueDeserializer
      Deserializer used for handling property value.
    • _valueTypeDeserializer

      protected TypeDeserializer _valueTypeDeserializer
      If value will contain type information (to support polymorphic handling), this is the type deserializer used to handle type resolution.
    • _nullProvider

      protected SettableBeanProperty.NullProvider _nullProvider
      Object used to figure out value to be used when 'null' literal is encountered in JSON. For most types simply Java null, but for primitive types must be a non-null value (like Integer.valueOf(0) for int).
      Since:
      1.7
    • _managedReferenceName

      protected String _managedReferenceName
      If property represents a managed (forward) reference (see [JACKSON-235]), we will need name of reference for later linking.
    • _propertyIndex

      protected int _propertyIndex
      Index of property (within all property of a bean); assigned when all properties have been collected. Order of entries is arbitrary, but once indexes are assigned they are not changed.
      Since:
      1.7
  • Constructor Details

  • Method Details

    • setValueDeserializer

      @Deprecated public void setValueDeserializer(JsonDeserializer<Object> deser)
      Deprecated.
    • withValueDeserializer

      public abstract SettableBeanProperty withValueDeserializer(JsonDeserializer<Object> deser)
      Since:
      1.9
    • setManagedReferenceName

      public void setManagedReferenceName(String n)
    • assignIndex

      public void assignIndex(int index)
      Method used to assign index for property.
      Since:
      1.7
    • getName

      public final String getName()
      Description copied from interface: BeanProperty
      Method to get logical name of the property
      Specified by:
      getName in interface BeanProperty
      Specified by:
      getName in interface Named
    • getType

      public JavaType getType()
      Description copied from interface: BeanProperty
      Method to get declared type of the property.
      Specified by:
      getType in interface BeanProperty
    • getAnnotation

      public abstract <A extends Annotation> A getAnnotation(Class<A> acls)
      Description copied from interface: BeanProperty
      Method for finding annotation associated with this property; meaning annotation associated with one of entities used to access property.
      Specified by:
      getAnnotation in interface BeanProperty
    • getMember

      public abstract AnnotatedMember getMember()
      Description copied from interface: BeanProperty
      Method for accessing primary physical entity that represents the property; annotated field, method or constructor property.
      Specified by:
      getMember in interface BeanProperty
    • getContextAnnotation

      public <A extends Annotation> A getContextAnnotation(Class<A> acls)
      Description copied from interface: BeanProperty
      Method for finding annotation associated with context of this property; usually class in which member is declared (or its subtype if processing subtype).
      Specified by:
      getContextAnnotation in interface BeanProperty
    • getDeclaringClass

      protected final Class<?> getDeclaringClass()
    • getPropertyName

      @Deprecated public String getPropertyName()
      Deprecated.
      Since 1.7, use getName() instead.
    • getManagedReferenceName

      public String getManagedReferenceName()
    • hasValueDeserializer

      public boolean hasValueDeserializer()
    • hasValueTypeDeserializer

      public boolean hasValueTypeDeserializer()
      Since:
      1.9
    • getValueDeserializer

      public JsonDeserializer<Object> getValueDeserializer()
      Since:
      1.9
    • getValueTypeDeserializer

      public TypeDeserializer getValueTypeDeserializer()
      Since:
      1.9
    • getPropertyIndex

      public int getPropertyIndex()
      Method for accessing unique index of this property; indexes are assigned once all properties of a BeanDeserializer have been collected.
      Returns:
      Index of this property
      Since:
      1.7 Although note that it was misspelled as "getProperytIndex"; fixed in 1.9
    • getProperytIndex

      @Deprecated public int getProperytIndex()
      Deprecated.
      Since 1.9: use getPropertyIndex() instead
    • getInjectableValueId

      public Object getInjectableValueId()
      Accessor for id of injectable value, if this bean property supports value injection.
      Since:
      1.9
    • deserializeAndSet

      public abstract void deserializeAndSet(JsonParser jp, DeserializationContext ctxt, Object instance) throws IOException, JsonProcessingException
      Method called to deserialize appropriate value, given parser (and context), and set it using appropriate mechanism. Pre-condition is that passed parser must point to the first token that should be consumed to produce the value (the only value for scalars, multiple for Objects and Arrays).
      Throws:
      IOException
      JsonProcessingException
    • set

      public abstract void set(Object instance, Object value) throws IOException
      Throws:
      IOException
    • deserialize

      public final Object deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException
      This method is needed by some specialized bean deserializers, and also called by some deserializeAndSet(JsonParser, DeserializationContext, Object) implementations.

      Pre-condition is that passed parser must point to the first token that should be consumed to produce the value (the only value for scalars, multiple for Objects and Arrays).

      Throws:
      IOException
      JsonProcessingException
    • _throwAsIOE

      protected void _throwAsIOE(Exception e, Object value) throws IOException
      Method that takes in exception of any type, and casts or wraps it to an IOException or its subclass.
      Throws:
      IOException
    • _throwAsIOE

      protected IOException _throwAsIOE(Exception e) throws IOException
      Throws:
      IOException
    • toString

      public String toString()
      Overrides:
      toString in class Object