Top Description Fields Constructors Methods
tools.jackson.module.blackbird.deser

pack-priv abstract Class OptimizedSettableBeanProperty<T extends OptimizedSettableBeanProperty<T>>

extends Delegating
Class Inheritance
Known Direct Subclasses
tools.jackson.module.blackbird.deser.SettableBooleanProperty, tools.jackson.module.blackbird.deser.SettableIntProperty, tools.jackson.module.blackbird.deser.SettableLongProperty, tools.jackson.module.blackbird.deser.SettableObjectProperty, tools.jackson.module.blackbird.deser.SettableStringProperty
Imports
java.util.logging.Level, .Logger, tools.jackson.core.*, tools.jackson.databind.*, tools.jackson.databind.deser.*, tools.jackson.databind.deser.impl.NullsConstantProvider, tools.jackson.databind.util.ClassUtil

Base class for concrete type-specific SettableBeanProperty implementations.

Field Summary

Modifier and TypeField and Description
protected final boolean
private volatile boolean
broken

Marker that we set if mutator turns out to be broken in a systematic way that we can handle by redirecting it back to standard one.

private static final long
Inherited from tools.jackson.databind.deser.SettableBeanProperty.Delegating:
delegate

Constructor Summary

AccessConstructor and Description
protected

Method Summary

Modifier and TypeMethod and Description
protected boolean
_isDefaultDeserializer(ValueDeserializer<?> deser)

Helper method used to check whether given deserializer is the default deserializer implementation: this is necessary to avoid overriding custom deserializers.

protected void
_reportProblem(DeserializationContext ctxt, Object bean, Object value, Throwable e)

Helper method called when an exception is throw from mutator, to figure out what to do.

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

Overrides tools.jackson.databind.deser.SettableBeanProperty.Delegating.deserializeAndSet.

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)

Overrides tools.jackson.databind.deser.SettableBeanProperty.Delegating.deserializeSetAndReturn.

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 abstract void
set(DeserializationContext ctxt, Object bean, Object value)

Overrides tools.jackson.databind.deser.SettableBeanProperty.Delegating.set.

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

public Object
setAndReturn(DeserializationContext ctxt, Object instance, Object value)

Overrides tools.jackson.databind.deser.SettableBeanProperty.Delegating.setAndReturn.

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.

protected abstract SettableBeanProperty
withDelegate(SettableBeanProperty d)

Implements abstract tools.jackson.databind.deser.SettableBeanProperty.Delegating.withDelegate.

Method sub-classes must implement, to construct a new instance with given delegate.

public final SettableBeanProperty
withValueDeserializer(ValueDeserializer<?> deser)

Overrides tools.jackson.databind.deser.SettableBeanProperty.Delegating.withValueDeserializer.

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

Inherited from tools.jackson.databind.deser.SettableBeanProperty.Delegating:
_withassignIndexfixAccessgetAnnotationgetCreatorIndexgetDeclaringClassgetDelegategetInjectableValueIdgetManagedReferenceNamegetMembergetObjectIdInfogetPropertyIndexgetValueDeserializergetValueTypeDeserializerhasValueDeserializerhasValueTypeDeserializerhasViewsisInjectionOnlyvisibleInViewwithNamewithNullProvider

Field Detail

_skipNullsback to summary
protected final boolean _skipNulls
Since
2.9
brokenback to summary
private volatile boolean broken

Marker that we set if mutator turns out to be broken in a systematic way that we can handle by redirecting it back to standard one.

serialVersionUIDback to summary
private static final long serialVersionUID

Constructor Detail

OptimizedSettableBeanPropertyback to summary
protected OptimizedSettableBeanProperty(SettableBeanProperty src)

Method Detail

_isDefaultDeserializerback to summary
protected boolean _isDefaultDeserializer(ValueDeserializer<?> deser)

Helper method used to check whether given deserializer is the default deserializer implementation: this is necessary to avoid overriding custom deserializers.

_reportProblemback to summary
protected void _reportProblem(DeserializationContext ctxt, Object bean, Object value, Throwable e) throws JacksonException

Helper method called when an exception is throw from mutator, to figure out what to do.

deserializeAndSetback to summary
public abstract void deserializeAndSet(JsonParser p, DeserializationContext ctxt, Object arg2) throws JacksonException

Overrides tools.jackson.databind.deser.SettableBeanProperty.Delegating.deserializeAndSet.

Doc from tools.jackson.databind.deser.SettableBeanProperty.deserializeAndSet.

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).

Annotations
@Override
deserializeSetAndReturnback to summary
public abstract Object deserializeSetAndReturn(JsonParser p, DeserializationContext ctxt, Object instance) throws JacksonException

Overrides tools.jackson.databind.deser.SettableBeanProperty.Delegating.deserializeSetAndReturn.

Doc from tools.jackson.databind.deser.SettableBeanProperty.deserializeSetAndReturn.

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. Mostly used to support Builder style deserialization.

Annotations
@Override
setback to summary
public abstract void set(DeserializationContext ctxt, Object bean, Object value)

Overrides tools.jackson.databind.deser.SettableBeanProperty.Delegating.set.

Doc from tools.jackson.databind.deser.SettableBeanProperty.set.

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

Note

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

Annotations
@Override
setAndReturnback to summary
public Object setAndReturn(DeserializationContext ctxt, Object instance, Object value)

Overrides tools.jackson.databind.deser.SettableBeanProperty.Delegating.setAndReturn.

Doc from tools.jackson.databind.deser.SettableBeanProperty.setAndReturn.

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.

Annotations
@Override
withDelegateback to summary
protected abstract SettableBeanProperty withDelegate(SettableBeanProperty d)

Implements abstract tools.jackson.databind.deser.SettableBeanProperty.Delegating.withDelegate.

Doc from tools.jackson.databind.deser.SettableBeanProperty.Delegating.withDelegate.

Method sub-classes must implement, to construct a new instance with given delegate.

Annotations
@Override
withValueDeserializerback to summary
public final SettableBeanProperty withValueDeserializer(ValueDeserializer<?> deser)

Overrides tools.jackson.databind.deser.SettableBeanProperty.Delegating.withValueDeserializer.

Doc from tools.jackson.databind.deser.SettableBeanProperty.withValueDeserializer.

Fluent factory method for constructing and returning a new instance with specified value deserializer. Note that this method should NOT change configuration of this instance.

Annotations
@Override