Class BBDeserializerModifier
- java.lang.Object
-
- com.fasterxml.jackson.databind.deser.BeanDeserializerModifier
-
- com.fasterxml.jackson.module.blackbird.deser.BBDeserializerModifier
-
- All Implemented Interfaces:
java.io.Serializable
public class BBDeserializerModifier extends com.fasterxml.jackson.databind.deser.BeanDeserializerModifier- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceBBDeserializerModifier.ObjBooleanBiFunctionstatic interfaceBBDeserializerModifier.ObjIntBiFunctionstatic interfaceBBDeserializerModifier.ObjLongBiFunction
-
Field Summary
Fields Modifier and Type Field Description private java.util.function.UnaryOperator<java.lang.invoke.MethodHandles.Lookup>_accessGrantprivate java.util.function.Function<java.lang.Class<?>,java.lang.invoke.MethodHandles.Lookup>_lookupsprivate static java.lang.invoke.MethodHandleBOOLEAN_TRAMPOLINEprivate static java.lang.invoke.MethodHandleINT_TRAMPOLINEprivate static java.lang.invoke.MethodHandleLONG_TRAMPOLINEprivate static java.lang.invoke.MethodHandleTRAMPOLINE
-
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 voidbooleanTrampoline(BBDeserializerModifier.ObjBooleanBiFunction thunk, java.lang.Object bean, boolean value)private <T> TcreateSetter(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 voidintTrampoline(BBDeserializerModifier.ObjIntBiFunction thunk, java.lang.Object bean, int value)protected booleanisDefaultDeserializer(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 voidlongTrampoline(BBDeserializerModifier.ObjLongBiFunction thunk, java.lang.Object bean, long value)private voidnextProperty(com.fasterxml.jackson.databind.deser.SettableBeanProperty prop, java.lang.invoke.MethodHandles.Lookup lookup, java.util.ArrayList<OptimizedSettableBeanProperty<?>> newProps)(package private) static voidtrampoline(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.BeanDeserializerBuilderupdateBuilder(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:
updateBuilderin 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.Throwablejava.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)
-
-