Class BeanReader


  • public class BeanReader
    extends ValueReader
    Class that contains information about dynamically introspected Bean types, to be able to deserialize (read) JSON into a POJO and serialize (write) POJO as JSON.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected java.util.Map<java.lang.String,​java.lang.String> _aliasMapping
      Mapping of aliased names to primary names (direct linkage unfortunately impractical due to implementation limits).
      protected java.lang.reflect.Constructor<?> _defaultCtor  
      protected java.util.Set<java.lang.String> _ignorableNames  
      protected java.lang.reflect.Constructor<?> _longCtor  
      protected java.util.Map<java.lang.String,​BeanPropertyReader> _propsByName  
      protected java.lang.reflect.Constructor<?> _stringCtor  
    • Constructor Summary

      Constructors 
      Constructor Description
      BeanReader​(java.lang.Class<?> type, java.util.Map<java.lang.String,​BeanPropertyReader> props, java.lang.reflect.Constructor<?> defaultCtor, java.lang.reflect.Constructor<?> stringCtor, java.lang.reflect.Constructor<?> longCtor)
      Deprecated.
      BeanReader​(java.lang.Class<?> type, java.util.Map<java.lang.String,​BeanPropertyReader> props, java.lang.reflect.Constructor<?> defaultCtor, java.lang.reflect.Constructor<?> stringCtor, java.lang.reflect.Constructor<?> longCtor, java.util.Set<java.lang.String> ignorableNames, java.util.Map<java.lang.String,​java.lang.String> aliasMapping)
      Constructors used for deserialization use case
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected java.io.IOException _reportProblem​(com.fasterxml.jackson.core.JsonParser p)  
      protected java.lang.Object create()  
      protected java.lang.Object create​(long l)  
      protected java.lang.Object create​(java.lang.String str)  
      BeanPropertyReader findProperty​(java.lang.String name)  
      protected void handleUnknown​(JSONReader reader, com.fasterxml.jackson.core.JsonParser parser, java.lang.String fieldName)  
      java.util.Map<java.lang.String,​BeanPropertyReader> propertiesByName()  
      java.lang.Object read​(JSONReader r, com.fasterxml.jackson.core.JsonParser p)
      Method used for deserialization; will read an instance of the bean type using given parser.
      java.lang.Object readNext​(JSONReader r, com.fasterxml.jackson.core.JsonParser p)
      Method called to deserialize value of type supported by this reader, using given parser.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • _propsByName

        protected final java.util.Map<java.lang.String,​BeanPropertyReader> _propsByName
      • _aliasMapping

        protected final java.util.Map<java.lang.String,​java.lang.String> _aliasMapping
        Mapping of aliased names to primary names (direct linkage unfortunately impractical due to implementation limits).
        Since:
        2.11
      • _ignorableNames

        protected final java.util.Set<java.lang.String> _ignorableNames
      • _defaultCtor

        protected final java.lang.reflect.Constructor<?> _defaultCtor
      • _stringCtor

        protected final java.lang.reflect.Constructor<?> _stringCtor
      • _longCtor

        protected final java.lang.reflect.Constructor<?> _longCtor
    • Constructor Detail

      • BeanReader

        public BeanReader​(java.lang.Class<?> type,
                          java.util.Map<java.lang.String,​BeanPropertyReader> props,
                          java.lang.reflect.Constructor<?> defaultCtor,
                          java.lang.reflect.Constructor<?> stringCtor,
                          java.lang.reflect.Constructor<?> longCtor,
                          java.util.Set<java.lang.String> ignorableNames,
                          java.util.Map<java.lang.String,​java.lang.String> aliasMapping)
        Constructors used for deserialization use case
      • BeanReader

        @Deprecated
        public BeanReader​(java.lang.Class<?> type,
                          java.util.Map<java.lang.String,​BeanPropertyReader> props,
                          java.lang.reflect.Constructor<?> defaultCtor,
                          java.lang.reflect.Constructor<?> stringCtor,
                          java.lang.reflect.Constructor<?> longCtor)
        Deprecated.
    • Method Detail

      • propertiesByName

        public java.util.Map<java.lang.String,​BeanPropertyReader> propertiesByName()
      • readNext

        public java.lang.Object readNext​(JSONReader r,
                                         com.fasterxml.jackson.core.JsonParser p)
                                  throws java.io.IOException
        Description copied from class: ValueReader
        Method called to deserialize value of type supported by this reader, using given parser. Parser is not yet positioned to the (first) token of the value to read and needs to be advanced.

        Default implementation simply calls `p.nextToken()` first, then calls {#link ValueReader.read(JSONReader, JsonParser), but some implementations may decide to implement this differently to use (slightly) more efficient accessor in JsonParser, like JsonParser.nextIntValue(int).

        Overrides:
        readNext in class ValueReader
        Parameters:
        r - Context object that allows calling other read methods for contained values of different types (for example for collection readers).
        p - Underlying parser used for reading decoded token stream
        Throws:
        java.io.IOException
      • read

        public java.lang.Object read​(JSONReader r,
                                     com.fasterxml.jackson.core.JsonParser p)
                              throws java.io.IOException
        Method used for deserialization; will read an instance of the bean type using given parser.
        Specified by:
        read in class ValueReader
        Parameters:
        r - Context object that allows calling other read methods for contained values of different types (for example for collection readers).
        p - Underlying parser used for reading decoded token stream
        Throws:
        java.io.IOException
      • create

        protected java.lang.Object create()
                                   throws java.lang.Exception
        Throws:
        java.lang.Exception
      • create

        protected java.lang.Object create​(java.lang.String str)
                                   throws java.lang.Exception
        Throws:
        java.lang.Exception
      • create

        protected java.lang.Object create​(long l)
                                   throws java.lang.Exception
        Throws:
        java.lang.Exception
      • handleUnknown

        protected void handleUnknown​(JSONReader reader,
                                     com.fasterxml.jackson.core.JsonParser parser,
                                     java.lang.String fieldName)
                              throws java.io.IOException
        Throws:
        java.io.IOException
      • _reportProblem

        protected java.io.IOException _reportProblem​(com.fasterxml.jackson.core.JsonParser p)