Class PropertyValueBuffer


  • public class PropertyValueBuffer
    extends java.lang.Object
    Simple container used for temporarily buffering a set of PropertyValues. Using during construction of beans (and Maps) that use Creators, and hence need buffering before instance (that will have properties to assign values to) is constructed.
    • Field Detail

      • _parser

        protected final com.fasterxml.jackson.core.JsonParser _parser
      • _creatorParameters

        protected final java.lang.Object[] _creatorParameters
        Buffer used for storing creator parameters for constructing instance.
      • _paramsNeeded

        protected int _paramsNeeded
        Number of creator parameters for which we have not yet received values.
      • _paramsSeen

        protected int _paramsSeen
        Bitflag used to track parameters found from incoming data when number of parameters is less than 32 (fits in int).
      • _paramsSeenBig

        protected final java.util.BitSet _paramsSeenBig
        Bitflag used to track parameters found from incoming data when number of parameters is 32 or higher.
      • _buffered

        protected PropertyValue _buffered
        If we get non-creator parameters before or between creator parameters, those need to be buffered. Buffer is just a simple linked list
      • _idValue

        protected java.lang.Object _idValue
        In case there is an Object Id property to handle, this is the value we have for it.
    • Method Detail

      • hasParameter

        public final boolean hasParameter​(SettableBeanProperty prop)
        Returns true if the given property was seen in the JSON source by this buffer.
        Since:
        2.8
      • readIdProperty

        public boolean readIdProperty​(java.lang.String propName)
                               throws java.io.IOException
        Helper method called to see if given non-creator property is the "id property"; and if so, handle appropriately.
        Throws:
        java.io.IOException
        Since:
        2.1
      • handleIdValue

        public java.lang.Object handleIdValue​(DeserializationContext ctxt,
                                              java.lang.Object bean)
                                       throws java.io.IOException
        Helper method called to handle Object Id value collected earlier, if any
        Throws:
        java.io.IOException
      • isComplete

        public boolean isComplete()
      • assignParameter

        public boolean assignParameter​(SettableBeanProperty prop,
                                       java.lang.Object value)
        Method called to buffer value for given property, as well as check whether we now have values for all (creator) properties that we expect to get values for.
        Returns:
        True if we have received all creator parameters
        Since:
        2.6
      • bufferProperty

        public void bufferProperty​(SettableBeanProperty prop,
                                   java.lang.Object value)
      • bufferAnyProperty

        public void bufferAnyProperty​(SettableAnyProperty prop,
                                      java.lang.String propName,
                                      java.lang.Object value)
      • bufferMapProperty

        public void bufferMapProperty​(java.lang.Object key,
                                      java.lang.Object value)