Class InnerClassProperty
- java.lang.Object
-
- com.fasterxml.jackson.databind.introspect.ConcreteBeanPropertyBase
-
- com.fasterxml.jackson.databind.deser.SettableBeanProperty
-
- com.fasterxml.jackson.databind.deser.SettableBeanProperty.Delegating
-
- com.fasterxml.jackson.databind.deser.impl.InnerClassProperty
-
- All Implemented Interfaces:
BeanProperty
,Named
,java.io.Serializable
public final class InnerClassProperty extends SettableBeanProperty.Delegating
This sub-class is used to handle special case of value being a non-static inner class. If so, we will have to use a special alternative for default constructor; but otherwise can delegate to regular implementation.- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.fasterxml.jackson.databind.deser.SettableBeanProperty
SettableBeanProperty.Delegating
-
Nested classes/interfaces inherited from interface com.fasterxml.jackson.databind.BeanProperty
BeanProperty.Bogus, BeanProperty.Std
-
-
Field Summary
Fields Modifier and Type Field Description protected AnnotatedConstructor
_annotated
Serializable version of single-arg constructor we use for value instantiation.protected java.lang.reflect.Constructor<?>
_creator
Constructor used when deserializing this property.-
Fields inherited from class com.fasterxml.jackson.databind.deser.SettableBeanProperty.Delegating
delegate
-
Fields inherited from class com.fasterxml.jackson.databind.deser.SettableBeanProperty
_contextAnnotations, _managedReferenceName, _nullProvider, _objectIdInfo, _propertyIndex, _propName, _type, _valueDeserializer, _valueTypeDeserializer, _viewMatcher, _wrapperName, MISSING_VALUE_DESERIALIZER
-
Fields inherited from class com.fasterxml.jackson.databind.introspect.ConcreteBeanPropertyBase
_aliases, _metadata
-
Fields inherited from interface com.fasterxml.jackson.databind.BeanProperty
EMPTY_FORMAT, EMPTY_INCLUDE
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
InnerClassProperty(SettableBeanProperty src, AnnotatedConstructor ann)
Constructor used with JDK Serialization; needed to handle transient Constructor, wrap/unwrap in/out-of Annotated variant.InnerClassProperty(SettableBeanProperty delegate, java.lang.reflect.Constructor<?> ctor)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
deserializeAndSet(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, java.lang.Object bean)
Method called to deserialize appropriate value, given parser (and context), and set it using appropriate mechanism.java.lang.Object
deserializeSetAndReturn(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, java.lang.Object instance)
Alternative toSettableBeanProperty.deserializeAndSet(com.fasterxml.jackson.core.JsonParser, com.fasterxml.jackson.databind.DeserializationContext, java.lang.Object)
that returns either return value of setter method called (if one is), or null to indicate that no return value is available.protected SettableBeanProperty
withDelegate(SettableBeanProperty d)
Method sub-classes must implement, to construct a new instance with given delegate.-
Methods inherited from class com.fasterxml.jackson.databind.deser.SettableBeanProperty.Delegating
_with, assignIndex, fixAccess, getAnnotation, getCreatorIndex, getDeclaringClass, getDelegate, getInjectableValueId, getManagedReferenceName, getMember, getObjectIdInfo, getPropertyIndex, getValueDeserializer, getValueTypeDeserializer, hasValueDeserializer, hasValueTypeDeserializer, hasViews, isInjectionOnly, set, setAndReturn, visibleInView, withName, withNullProvider, withValueDeserializer
-
Methods inherited from class com.fasterxml.jackson.databind.deser.SettableBeanProperty
_throwAsIOE, _throwAsIOE, _throwAsIOE, _throwAsIOE, depositSchemaProperty, deserialize, deserializeWith, getContextAnnotation, getFullName, getName, getNullValueProvider, getType, getWrapperName, isIgnorable, markAsIgnorable, setManagedReferenceName, setObjectIdInfo, setViews, toString, withSimpleName
-
Methods inherited from class com.fasterxml.jackson.databind.introspect.ConcreteBeanPropertyBase
findAliases, findFormatOverrides, findPropertyFormat, findPropertyInclusion, getMetadata, isRequired, isVirtual
-
-
-
-
Field Detail
-
_creator
protected final transient java.lang.reflect.Constructor<?> _creator
Constructor used when deserializing this property. Transient since there is no need to persist; only needed during construction of objects.
-
_annotated
protected AnnotatedConstructor _annotated
Serializable version of single-arg constructor we use for value instantiation.
-
-
Constructor Detail
-
InnerClassProperty
public InnerClassProperty(SettableBeanProperty delegate, java.lang.reflect.Constructor<?> ctor)
-
InnerClassProperty
protected InnerClassProperty(SettableBeanProperty src, AnnotatedConstructor ann)
Constructor used with JDK Serialization; needed to handle transient Constructor, wrap/unwrap in/out-of Annotated variant.
-
-
Method Detail
-
withDelegate
protected SettableBeanProperty withDelegate(SettableBeanProperty d)
Description copied from class:SettableBeanProperty.Delegating
Method sub-classes must implement, to construct a new instance with given delegate.- Specified by:
withDelegate
in classSettableBeanProperty.Delegating
-
deserializeAndSet
public void deserializeAndSet(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, java.lang.Object bean) throws java.io.IOException
Description copied from class:SettableBeanProperty
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).- Overrides:
deserializeAndSet
in classSettableBeanProperty.Delegating
- Throws:
java.io.IOException
-
deserializeSetAndReturn
public java.lang.Object deserializeSetAndReturn(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, java.lang.Object instance) throws java.io.IOException
Description copied from class:SettableBeanProperty
Alternative toSettableBeanProperty.deserializeAndSet(com.fasterxml.jackson.core.JsonParser, com.fasterxml.jackson.databind.DeserializationContext, java.lang.Object)
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.- Overrides:
deserializeSetAndReturn
in classSettableBeanProperty.Delegating
- Throws:
java.io.IOException
-
-