com.fasterxml.jackson.databind.deser.impl

## Class PropertyValueBuffer

- java.lang.Object
- - com.fasterxml.jackson.databind.deser.impl.PropertyValueBuffer

-     public class PropertyValueBuffer
      extends Object

  Simple container used for temporarily buffering a set of `PropertyValue`s. 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 Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected PropertyValue` | `_buffered` If we get non-creator parameters before or between creator parameters, those need to be buffered.
    `protected DeserializationContext` | `_context`
    `protected Object[]` | `_creatorParameters` Buffer used for storing creator parameters for constructing instance.
    `protected Object` | `_idValue` In case there is an Object Id property to handle, this is the value we have for it.
    `protected ObjectIdReader` | `_objectIdReader`
    `protected int` | `_paramsNeeded` Number of creator parameters for which we have not yet received values.
    `protected int` | `_paramsSeen` Bitflag used to track parameters found from incoming data when number of parameters is less than 32 (fits in int).
    `protected BitSet` | `_paramsSeenBig` Bitflag used to track parameters found from incoming data when number of parameters is 32 or higher.
    `protected com.fasterxml.jackson.core.JsonParser` | `_parser`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `PropertyValueBuffer(com.fasterxml.jackson.core.JsonParser jp, DeserializationContext ctxt, int paramCount, ObjectIdReader oir)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected Object` | `_findMissing(SettableBeanProperty prop)`
    `boolean` | `assignParameter(int index, Object value)` Deprecated. Since 2.6
    `boolean` | `assignParameter(SettableBeanProperty prop, Object value)`
    `void` | `bufferAnyProperty(SettableAnyProperty prop, String propName, Object value)`
    `protected PropertyValue` | `buffered()`
    `void` | `bufferMapProperty(Object key, Object value)`
    `void` | `bufferProperty(SettableBeanProperty prop, Object value)`
    `protected Object[]` | `getParameters(SettableBeanProperty[] props)` Method called to do necessary post-processing such as injection of values and verification of values for required properties, after either `assignParameter(SettableBeanProperty, Object)` returns `true` (to indicate all creator properties are found), or when then whole JSON Object has been processed,
    `Object` | `handleIdValue(DeserializationContext ctxt, Object bean)` Helper method called to handle Object Id value collected earlier, if any
    `boolean` | `isComplete()`
    `boolean` | `readIdProperty(String propName)` Helper method called to see if given non-creator property is the "id property"; and if so, handle appropriately.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### _parser

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

    - #### _context

          protected final DeserializationContext _context

    - #### _objectIdReader

          protected final ObjectIdReader _objectIdReader

    - #### _creatorParameters

          protected final 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 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 Object _idValue

      In case there is an Object Id property to handle, this is the value we have for it.

  - ### Constructor Detail

    - #### PropertyValueBuffer

          public PropertyValueBuffer(com.fasterxml.jackson.core.JsonParser jp,
                                     DeserializationContext ctxt,
                                     int paramCount,
                                     ObjectIdReader oir)

  - ### Method Detail

    - #### getParameters

          protected Object[] getParameters(SettableBeanProperty[] props)
                                    throws JsonMappingException

      Method called to do necessary post-processing such as injection of values and verification of values for required properties, after either `assignParameter(SettableBeanProperty, Object)` returns `true` (to indicate all creator properties are found), or when then whole JSON Object has been processed,
      Throws:
        `JsonMappingException`

    - #### _findMissing

          protected Object _findMissing(SettableBeanProperty prop)
                                 throws JsonMappingException

      Throws:
        `JsonMappingException`

    - #### readIdProperty

          public boolean readIdProperty(String propName)
                                 throws IOException

      Helper method called to see if given non-creator property is the "id property"; and if so, handle appropriately.
      Throws:
        `IOException`
      Since:
        2.1

    - #### handleIdValue

          public Object handleIdValue(DeserializationContext ctxt,
                                      Object bean)
                               throws IOException

      Helper method called to handle Object Id value collected earlier, if any
      Throws:
        `IOException`

    - #### buffered

          protected PropertyValue buffered()

    - #### isComplete

          public boolean isComplete()

    - #### assignParameter

          public boolean assignParameter(SettableBeanProperty prop,
                                         Object value)

      Returns:
        True if we have received all creator parameters
      Since:
        2.6

    - #### assignParameter

          @Deprecated
          public boolean assignParameter(int index,
                                                     Object value)

      Deprecated. Since 2.6

    - #### bufferProperty

          public void bufferProperty(SettableBeanProperty prop,
                                     Object value)

    - #### bufferAnyProperty

          public void bufferAnyProperty(SettableAnyProperty prop,
                                        String propName,
                                        Object value)

    - #### bufferMapProperty

          public void bufferMapProperty(Object key,
                                        Object value)

Copyright © 2014–2015 FasterXML. All rights reserved.