Class BBDeserializerModifier
- java.lang.Object
-
- com.fasterxml.jackson.databind.deser.BeanDeserializerModifier
-
- com.fasterxml.jackson.module.blackbird.deser.BBDeserializerModifier
-
public class BBDeserializerModifier extends com.fasterxml.jackson.databind.deser.BeanDeserializerModifier
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
BBDeserializerModifier.ObjBooleanBiFunction
static interface
BBDeserializerModifier.ObjIntBiFunction
static interface
BBDeserializerModifier.ObjLongBiFunction
-
Field Summary
Fields Modifier and Type Field Description private java.util.function.UnaryOperator<java.lang.invoke.MethodHandles.Lookup>
_accessGrant
private java.util.function.Function<java.lang.Class<?>,java.lang.invoke.MethodHandles.Lookup>
_lookups
private static java.lang.invoke.MethodHandle
BOOLEAN_TRAMPOLINE
private static java.lang.invoke.MethodHandle
INT_TRAMPOLINE
private static java.lang.invoke.MethodHandle
LONG_TRAMPOLINE
private static java.lang.invoke.MethodHandle
TRAMPOLINE
-
Constructor Summary
Constructors Constructor Description BBDeserializerModifier(java.util.function.Function<java.lang.Class<?>,java.lang.invoke.MethodHandles.Lookup> lookups, java.util.function.UnaryOperator<java.lang.invoke.MethodHandles.Lookup> accessGrant)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) static void
booleanTrampoline(BBDeserializerModifier.ObjBooleanBiFunction thunk, java.lang.Object bean, boolean value)
private <T> T
createSetter(java.lang.invoke.MethodHandles.Lookup lookup, java.lang.Class<T> iface, java.lang.Class<?> thunkType, java.lang.invoke.MethodHandle trampoline, java.lang.Class<?> valueType, java.lang.invoke.MethodHandle setter)
protected java.util.List<OptimizedSettableBeanProperty<?>>
findOptimizableProperties(java.lang.invoke.MethodHandles.Lookup lookup, com.fasterxml.jackson.databind.DeserializationConfig config, java.util.Iterator<com.fasterxml.jackson.databind.deser.SettableBeanProperty> propIterator)
(package private) static void
intTrampoline(BBDeserializerModifier.ObjIntBiFunction thunk, java.lang.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, java.lang.Object bean, long value)
private void
nextProperty(com.fasterxml.jackson.databind.deser.SettableBeanProperty prop, java.lang.invoke.MethodHandles.Lookup lookup, java.util.ArrayList<OptimizedSettableBeanProperty<?>> newProps)
(package private) static void
trampoline(java.util.function.BiFunction<java.lang.Object,java.lang.Object,java.lang.Object> thunk, java.lang.Object bean, java.lang.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 Detail
-
TRAMPOLINE
private static final java.lang.invoke.MethodHandle TRAMPOLINE
-
BOOLEAN_TRAMPOLINE
private static final java.lang.invoke.MethodHandle BOOLEAN_TRAMPOLINE
-
LONG_TRAMPOLINE
private static final java.lang.invoke.MethodHandle LONG_TRAMPOLINE
-
INT_TRAMPOLINE
private static final java.lang.invoke.MethodHandle INT_TRAMPOLINE
-
_lookups
private final java.util.function.Function<java.lang.Class<?>,java.lang.invoke.MethodHandles.Lookup> _lookups
-
_accessGrant
private final java.util.function.UnaryOperator<java.lang.invoke.MethodHandles.Lookup> _accessGrant
-
-
Method Detail
-
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 java.util.List<OptimizedSettableBeanProperty<?>> findOptimizableProperties(java.lang.invoke.MethodHandles.Lookup lookup, com.fasterxml.jackson.databind.DeserializationConfig config, java.util.Iterator<com.fasterxml.jackson.databind.deser.SettableBeanProperty> propIterator)
-
nextProperty
private void nextProperty(com.fasterxml.jackson.databind.deser.SettableBeanProperty prop, java.lang.invoke.MethodHandles.Lookup lookup, java.util.ArrayList<OptimizedSettableBeanProperty<?>> newProps) throws java.lang.Throwable
- Throws:
java.lang.Throwable
-
createSetter
private <T> T createSetter(java.lang.invoke.MethodHandles.Lookup lookup, java.lang.Class<T> iface, java.lang.Class<?> thunkType, java.lang.invoke.MethodHandle trampoline, java.lang.Class<?> valueType, java.lang.invoke.MethodHandle setter) throws java.lang.Throwable, java.lang.invoke.LambdaConversionException
- Throws:
java.lang.Throwable
java.lang.invoke.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
static void intTrampoline(BBDeserializerModifier.ObjIntBiFunction thunk, java.lang.Object bean, int value)
-
longTrampoline
static void longTrampoline(BBDeserializerModifier.ObjLongBiFunction thunk, java.lang.Object bean, long value)
-
booleanTrampoline
static void booleanTrampoline(BBDeserializerModifier.ObjBooleanBiFunction thunk, java.lang.Object bean, boolean value)
-
trampoline
static void trampoline(java.util.function.BiFunction<java.lang.Object,java.lang.Object,java.lang.Object> thunk, java.lang.Object bean, java.lang.Object value)
-
-