Class BBDeserializerModifier

  • All Implemented Interfaces:
    java.io.Serializable

    public class BBDeserializerModifier
    extends com.fasterxml.jackson.databind.deser.BeanDeserializerModifier
    See Also:
    Serialized Form
    • 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
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 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
    • Constructor Detail

      • BBDeserializerModifier

        public 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 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 class com.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.
      • 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)