Top Description Inners Fields Constructors Methods
com.fasterxml.jackson.databind.deser

public abstract Class SettableBeanProperty

extends ConcreteBeanPropertyBase
implements Serializable
Class Inheritance
All Implemented Interfaces
java.io.Serializable
Known Direct Subclasses
com.fasterxml.jackson.databind.deser.SettableBeanProperty.Delegating, com.fasterxml.jackson.databind.deser.impl.MethodProperty, com.fasterxml.jackson.databind.deser.impl.FieldProperty, com.fasterxml.jackson.databind.deser.impl.ObjectIdReferenceProperty, com.fasterxml.jackson.databind.deser.impl.ObjectIdValueProperty, com.fasterxml.jackson.databind.deser.impl.SetterlessProperty, com.fasterxml.jackson.databind.deser.CreatorProperty
Annotations
@SuppressWarnings:serial
Imports
java.io.IOException, java.lang.annotation.Annotation, com.fasterxml.jackson.core.*, com.fasterxml.jackson.databind.*, com.fasterxml.jackson.databind.deser.impl.FailingDeserializer, .NullsConstantProvider, com.fasterxml.jackson.databind.introspect.*, com.fasterxml.jackson.databind.jsonFormatVisitors.JsonObjectFormatVisitor, com.fasterxml.jackson.databind.jsontype.TypeDeserializer, com.fasterxml.jackson.databind.util.Annotations, .ClassUtil, .ViewMatcher

Base class for deserializable properties of a bean: contains both type and name definitions, and reflection-based set functionality. Concrete sub-classes implement details, so that field- and setter-backed properties, as well as a few more esoteric variations, can be handled.

Nested and Inner Type Summary

Modifier and TypeClass and Description
public abstract static class
SettableBeanProperty.Delegating

Helper class that is designed to both make it easier to sub-class delegating subtypes and to reduce likelihood of breakage when new methods are added.

Field Summary

Modifier and TypeField and Description
protected final transient 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.

protected String
_managedReferenceName

If property represents a managed (forward) reference, we will need the name of reference for later linking.

protected final NullValueProvider
_nullProvider

Entity used for possible translation from `null` into non-null value of type of this property.

protected ObjectIdInfo
_objectIdInfo

This is the information for object identity associated with the property.

protected int
_propertyIndex

Index of property (within all property of a bean); assigned when all properties have been collected.

protected final PropertyName
_propName

Logical name of the property (often but not always derived from the setter method name)

protected final JavaType
_type

Base type for property; may be a supertype of actual value.

protected final JsonDeserializer<Object>
_valueDeserializer

Deserializer used for handling property value.

protected final TypeDeserializer
_valueTypeDeserializer

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

protected ViewMatcher
_viewMatcher

Helper object used for checking whether this property is to be included in the active view, if property is view-specific; null otherwise.

protected final PropertyName
protected static final JsonDeserializer<Object>
MISSING_VALUE_DESERIALIZER

To avoid nasty NPEs, let's use a placeholder for _valueDeserializer, if real deserializer is not (yet) available.

Inherited from com.fasterxml.jackson.databind.introspect.ConcreteBeanPropertyBase:
_aliases_metadata

Constructor Summary

AccessConstructor and Description
protected
protected
SettableBeanProperty(PropertyName propName, JavaType type, PropertyName wrapper, TypeDeserializer typeDeser, Annotations contextAnnotations, PropertyMetadata metadata)

protected
protected
SettableBeanProperty(SettableBeanProperty src)

Basic copy-constructor for sub-classes to use.

protected
SettableBeanProperty(SettableBeanProperty src, JsonDeserializer<?> deser, NullValueProvider nuller)

Copy-with-deserializer-change constructor for sub-classes to use.

protected
SettableBeanProperty(SettableBeanProperty src, PropertyName newName)

Copy-with-deserializer-change constructor for sub-classes to use.

Method Summary

Modifier and TypeMethod and Description
protected void
_throwAsIOE(JsonParser p, Exception e, Object value)

Method that takes in exception of any type, and casts or wraps it to an IOException or its subclass.

protected IOException
protected IOException
_throwAsIOE(Exception e)

Deprecated
protected void
public void
assignIndex(int index)

Method used to assign index for property.

public void
depositSchemaProperty(JsonObjectFormatVisitor
Visitor to used as the callback handler
objectVisitor
,
SerializerProvider provider)

Implements com.fasterxml.jackson.databind.BeanProperty.depositSchemaProperty.

Method that can be called to visit the type structure that this property is part of.
public final Object
deserialize(JsonParser p, DeserializationContext ctxt)

This method is needed by some specialized bean deserializers, and also called by some deserializeAndSet implementations.

public abstract void
deserializeAndSet(JsonParser p, DeserializationContext ctxt, Object instance)

Method called to deserialize appropriate value, given parser (and context), and set it using appropriate mechanism.

public abstract Object
deserializeSetAndReturn(JsonParser p, DeserializationContext ctxt, Object instance)

Alternative to deserializeAndSet that returns either return value of setter method called (if one is), or null to indicate that no return value is available.

public final Object
public void
fixAccess(DeserializationConfig config)

Method called to ensure that the mutator has proper access rights to be called, as per configuration.

public abstract <A extends Annotation> A
getAnnotation(Class<A> acls)

Redeclares com.fasterxml.jackson.databind.BeanProperty.getAnnotation.

Method for finding annotation associated with this property; meaning annotation associated with one of entities used to access property.
public <A extends Annotation> A
getContextAnnotation(Class<A> acls)

Implements com.fasterxml.jackson.databind.BeanProperty.getContextAnnotation.

Method for finding annotation associated with context of this property; usually class in which member is declared (or its subtype if processing subtype).
public int
getCreatorIndex()

Method for accessing index of the creator property: for other types of properties will simply return -1.

protected Class<?>
public PropertyName
getFullName()

Implements com.fasterxml.jackson.databind.BeanProperty.getFullName.

Method for getting full name definition, including possible format-specific additional properties (such as namespace when using XML backend).
public Object
getInjectableValueId()

Accessor for id of injectable value, if this bean property supports value injection.

public String
public abstract AnnotatedMember
getMember()

Redeclares com.fasterxml.jackson.databind.BeanProperty.getMember.

Method for accessing primary physical entity that represents the property; annotated field, method or constructor property.
public final String
getName()

Implements com.fasterxml.jackson.databind.BeanProperty.getName.

Method to get logical name of the property
public NullValueProvider
public ObjectIdInfo
public int

Returns:

Index of this property
getPropertyIndex
()

Method for accessing unique index of this property; indexes are assigned once all properties of a BeanDeserializer have been collected.

public JavaType
getType()

Implements com.fasterxml.jackson.databind.BeanProperty.getType.

Method to get declared type of the property.
public JsonDeserializer<Object>
public TypeDeserializer
public PropertyName
getWrapperName()

Implements com.fasterxml.jackson.databind.BeanProperty.getWrapperName.

If property is indicated to be wrapped, name of wrapper element to use.
public boolean
public boolean
public boolean
public boolean
public boolean

Returns:

True if (and only if) property has injector that is also defined NOT to bind from input.
isInjectionOnly
()

Accessor for checking whether this property is injectable, and if so, ONLY injectable (will not bind from input).

public void
public abstract void
set(Object instance, Object value)

Method called to assign given value to this property, on specified Object.

public abstract Object
setAndReturn(Object instance, Object value)

Method called to assign given value to this property, on specified Object, and return whatever delegating accessor returned (if anything)

Note

this is an optional operation, not supported by all implementations, creator-backed properties for example do not support this method.

public void
public void
public void
setViews(Class<?>[] views)

public String
toString()

Overrides java.lang.Object.toString.

Returns a string representation of the object.
public boolean
visibleInView(Class<?> activeView)

public abstract SettableBeanProperty

Returns:

Newly constructed instance, if property name differs from the one used for this instance; or 'this' if not.
withName
(PropertyName
Name to use for the new instance.
newName
)

Fluent factory method for constructing and returning a new instance with specified property name.

public abstract SettableBeanProperty
public SettableBeanProperty
withSimpleName(String simpleName)

public abstract SettableBeanProperty

Returns:

Newly constructed instance, if value deserializer differs from the one used for this instance; or 'this' if not.
withValueDeserializer
(JsonDeserializer<?>
Deserializer to assign to the new property instance
deser
)

Fluent factory method for constructing and returning a new instance with specified value deserializer.

Inherited from com.fasterxml.jackson.databind.introspect.ConcreteBeanPropertyBase:
findAliasesfindFormatOverridesfindPropertyFormatfindPropertyInclusiongetMetadataisRequiredisVirtual