Top Inners Fields Constructors Methods
com.fasterxml.jackson.module.blackbird.deser

public Class BBDeserializerModifier

extends BeanDeserializerModifier
Class Inheritance
Imports
java.lang.invoke.LambdaConversionException, .LambdaMetafactory, .MethodHandle, .MethodHandles, .MethodType, .MethodHandles.Lookup, java.lang.reflect.Member, .Method, .Modifier, java.util.*, java.util.function.BiConsumer, .BiFunction, .Function, .ObjIntConsumer, .ObjLongConsumer, .UnaryOperator, com.fasterxml.jackson.databind.*, com.fasterxml.jackson.databind.deser.*, com.fasterxml.jackson.databind.deser.impl.MethodProperty, com.fasterxml.jackson.databind.deser.std.StdValueInstantiator, com.fasterxml.jackson.databind.introspect.*, com.fasterxml.jackson.databind.util.ClassUtil, com.fasterxml.jackson.module.blackbird.util.ReflectionHack

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static interface
public static interface
public static interface

Field Summary

Modifier and TypeField and Description
private 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 long
private static final MethodHandle

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
pack-priv static void
private <T> T
createSetter(MethodHandles.Lookup lookup, Class<T> iface, Class<?> thunkType, MethodHandle trampoline, Class<?> valueType, MethodHandle setter)

protected List<OptimizedSettableBeanProperty<?>>
pack-priv static void
protected boolean
isDefaultDeserializer(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.

pack-priv static void
private void
pack-priv static void
public BeanDeserializerBuilder
updateBuilder(DeserializationConfig config, BeanDescription beanDesc, BeanDeserializerBuilder builder)

Overrides com.fasterxml.jackson.databind.deser.BeanDeserializerModifier.updateBuilder.

Method called by BeanDeserializerFactory when it has collected basic information such as tentative list of properties to deserialize.

Inherited from com.fasterxml.jackson.databind.deser.BeanDeserializerModifier:
modifyArrayDeserializermodifyCollectionDeserializermodifyCollectionLikeDeserializermodifyDeserializermodifyEnumDeserializermodifyKeyDeserializermodifyMapDeserializermodifyMapLikeDeserializermodifyReferenceDeserializerupdateProperties

Field Detail

_accessGrantback to summary
private final UnaryOperator<MethodHandles.Lookup> _accessGrant
_lookupsback to summary
private final Function<Class<?>, MethodHandles.Lookup> _lookups
BOOLEAN_TRAMPOLINEback to summary
private static final MethodHandle BOOLEAN_TRAMPOLINE
INT_TRAMPOLINEback to summary
private static final MethodHandle INT_TRAMPOLINE
LONG_TRAMPOLINEback to summary
private static final MethodHandle LONG_TRAMPOLINE
serialVersionUIDback to summary
private static final long serialVersionUID

Hides com.fasterxml.jackson.databind.deser.BeanDeserializerModifier.serialVersionUID.

TRAMPOLINEback to summary
private static final MethodHandle TRAMPOLINE

Constructor Detail

BBDeserializerModifierback to summary
public BBDeserializerModifier(Function<Class<?>, MethodHandles.Lookup> lookups, UnaryOperator<MethodHandles.Lookup> accessGrant)

Method Detail

booleanTrampolineback to summary
pack-priv static void booleanTrampoline(BBDeserializerModifier.ObjBooleanBiFunction thunk, Object bean, boolean value)
createSetterback to summary
private <T> T createSetter(MethodHandles.Lookup lookup, Class<T> iface, Class<?> thunkType, MethodHandle trampoline, Class<?> valueType, MethodHandle setter) throws Throwable, LambdaConversionException
findOptimizablePropertiesback to summary
protected List<OptimizedSettableBeanProperty<?>> findOptimizableProperties(MethodHandles.Lookup lookup, DeserializationConfig config, Iterator<SettableBeanProperty> propIterator)
intTrampolineback to summary
pack-priv static void intTrampoline(BBDeserializerModifier.ObjIntBiFunction thunk, Object bean, int value)
isDefaultDeserializerback to summary
protected boolean isDefaultDeserializer(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.

longTrampolineback to summary
pack-priv static void longTrampoline(BBDeserializerModifier.ObjLongBiFunction thunk, Object bean, long value)
nextPropertyback to summary
private void nextProperty(SettableBeanProperty prop, MethodHandles.Lookup lookup, ArrayList<OptimizedSettableBeanProperty<?>> newProps) throws Throwable
Annotations
@SuppressWarnings:unchecked
trampolineback to summary
pack-priv static void trampoline(BiFunction<Object, Object, Object> thunk, Object bean, Object value)
updateBuilderback to summary
public BeanDeserializerBuilder updateBuilder(DeserializationConfig config, BeanDescription beanDesc, BeanDeserializerBuilder builder)

Overrides com.fasterxml.jackson.databind.deser.BeanDeserializerModifier.updateBuilder.

Doc from com.fasterxml.jackson.databind.deser.BeanDeserializerModifier.updateBuilder.

Method called by BeanDeserializerFactory when it has collected basic information such as tentative list of properties to deserialize. Implementations may choose to modify state of builder (to affect deserializer being built), or even completely replace it (if they want to build different kind of deserializer). Typically changes mostly concern set of properties to deserialize.

Annotations
@Override
com.fasterxml.jackson.module.blackbird.deser back to summary

public Interface BBDeserializerModifier.ObjBooleanBiFunction

Annotations
@FunctionalInterface

Method Summary

Modifier and TypeMethod and Description
public Object
apply(Object bean, boolean value)

Method Detail

applyback to summary
public Object apply(Object bean, boolean value)
com.fasterxml.jackson.module.blackbird.deser back to summary

public Interface BBDeserializerModifier.ObjIntBiFunction

Annotations
@FunctionalInterface

Method Summary

Modifier and TypeMethod and Description
public Object
apply(Object bean, int value)

Method Detail

applyback to summary
public Object apply(Object bean, int value)
com.fasterxml.jackson.module.blackbird.deser back to summary

public Interface BBDeserializerModifier.ObjLongBiFunction

Annotations
@FunctionalInterface

Method Summary

Modifier and TypeMethod and Description
public Object
apply(Object bean, long value)

Method Detail

applyback to summary
public Object apply(Object bean, long value)