Class BBDeserializerModifier
java.lang.Object
com.fasterxml.jackson.databind.deser.BeanDeserializerModifier
com.fasterxml.jackson.module.blackbird.deser.BBDeserializerModifier
- All Implemented Interfaces:
Serializable
public class BBDeserializerModifier
extends com.fasterxml.jackson.databind.deser.BeanDeserializerModifier
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interface
static interface
static interface
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final UnaryOperator
<MethodHandles.Lookup> private final Function
<Class<?>, MethodHandles.Lookup> private static final MethodHandle
private static final MethodHandle
private static final MethodHandle
private static final MethodHandle
-
Constructor Summary
ConstructorsConstructorDescriptionBBDeserializerModifier
(Function<Class<?>, MethodHandles.Lookup> lookups, UnaryOperator<MethodHandles.Lookup> accessGrant) -
Method Summary
Modifier and TypeMethodDescription(package private) static void
booleanTrampoline
(BBDeserializerModifier.ObjBooleanBiFunction thunk, Object bean, boolean value) private <T> T
createSetter
(MethodHandles.Lookup lookup, Class<T> iface, Class<?> thunkType, MethodHandle trampoline, Class<?> valueType, MethodHandle setter) protected List
<OptimizedSettableBeanProperty<?>> findOptimizableProperties
(MethodHandles.Lookup lookup, com.fasterxml.jackson.databind.DeserializationConfig config, Iterator<com.fasterxml.jackson.databind.deser.SettableBeanProperty> propIterator) (package private) static void
intTrampoline
(BBDeserializerModifier.ObjIntBiFunction thunk, Object bean, int value) protected boolean
isDefaultDeserializer
(com.fasterxml.jackson.databind.JsonDeserializer<?> deser) Helper method used to check whether given deserializer is the default deserializer implementation: this is necessary to avoid overriding other kinds of deserializers.(package private) static void
longTrampoline
(BBDeserializerModifier.ObjLongBiFunction thunk, Object bean, long value) private void
nextProperty
(com.fasterxml.jackson.databind.deser.SettableBeanProperty prop, MethodHandles.Lookup lookup, ArrayList<OptimizedSettableBeanProperty<?>> newProps) (package private) static void
trampoline
(BiFunction<Object, Object, Object> thunk, Object bean, Object value) com.fasterxml.jackson.databind.deser.BeanDeserializerBuilder
updateBuilder
(com.fasterxml.jackson.databind.DeserializationConfig config, com.fasterxml.jackson.databind.BeanDescription beanDesc, com.fasterxml.jackson.databind.deser.BeanDeserializerBuilder builder) Methods inherited from class com.fasterxml.jackson.databind.deser.BeanDeserializerModifier
modifyArrayDeserializer, modifyCollectionDeserializer, modifyCollectionLikeDeserializer, modifyDeserializer, modifyEnumDeserializer, modifyKeyDeserializer, modifyMapDeserializer, modifyMapLikeDeserializer, modifyReferenceDeserializer, updateProperties
-
Field Details
-
TRAMPOLINE
-
BOOLEAN_TRAMPOLINE
-
LONG_TRAMPOLINE
-
INT_TRAMPOLINE
-
_lookups
-
_accessGrant
-
-
Constructor Details
-
BBDeserializerModifier
public BBDeserializerModifier(Function<Class<?>, MethodHandles.Lookup> lookups, UnaryOperator<MethodHandles.Lookup> accessGrant)
-
-
Method Details
-
updateBuilder
public com.fasterxml.jackson.databind.deser.BeanDeserializerBuilder updateBuilder(com.fasterxml.jackson.databind.DeserializationConfig config, com.fasterxml.jackson.databind.BeanDescription beanDesc, com.fasterxml.jackson.databind.deser.BeanDeserializerBuilder builder) - Overrides:
updateBuilder
in classcom.fasterxml.jackson.databind.deser.BeanDeserializerModifier
-
findOptimizableProperties
protected List<OptimizedSettableBeanProperty<?>> findOptimizableProperties(MethodHandles.Lookup lookup, com.fasterxml.jackson.databind.DeserializationConfig config, Iterator<com.fasterxml.jackson.databind.deser.SettableBeanProperty> propIterator) -
nextProperty
private void nextProperty(com.fasterxml.jackson.databind.deser.SettableBeanProperty prop, MethodHandles.Lookup lookup, ArrayList<OptimizedSettableBeanProperty<?>> newProps) throws Throwable - Throws:
Throwable
-
createSetter
private <T> T createSetter(MethodHandles.Lookup lookup, Class<T> iface, Class<?> thunkType, MethodHandle trampoline, Class<?> valueType, MethodHandle setter) throws Throwable, LambdaConversionException - Throws:
Throwable
LambdaConversionException
-
isDefaultDeserializer
protected boolean isDefaultDeserializer(com.fasterxml.jackson.databind.JsonDeserializer<?> deser) Helper method used to check whether given deserializer is the default deserializer implementation: this is necessary to avoid overriding other kinds of deserializers. -
intTrampoline
-
longTrampoline
-
booleanTrampoline
static void booleanTrampoline(BBDeserializerModifier.ObjBooleanBiFunction thunk, Object bean, boolean value) -
trampoline
-