Class PropertyValueBuffer
java.lang.Object
edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.deser.impl.PropertyValueBuffer
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
Modifier and TypeFieldDescriptionprotected PropertyValue
If we get non-creator parameters before or between creator parameters, those need to be buffered.protected final DeserializationContext
protected final Object[]
Buffer used for storing creator parameters for constructing instance.protected Object
In case there is an Object Id property to handle, this is the value we have for it.protected final ObjectIdReader
protected int
Number of creator parameters for which we have not yet received values.protected int
Bitflag used to track parameters found from incoming data when number of parameters is less than 32 (fits in int).protected final BitSet
Bitflag used to track parameters found from incoming data when number of parameters is 32 or higher.protected final JsonParser
-
Constructor Summary
ConstructorDescriptionPropertyValueBuffer
(JsonParser p, DeserializationContext ctxt, int paramCount, ObjectIdReader oir) -
Method Summary
Modifier and TypeMethodDescriptionprotected Object
boolean
assignParameter
(SettableBeanProperty prop, 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.void
bufferAnyProperty
(SettableAnyProperty prop, String propName, Object value) protected PropertyValue
buffered()
void
bufferMapProperty
(Object key, Object value) void
bufferProperty
(SettableBeanProperty prop, Object value) A variation ofgetParameters(SettableBeanProperty[])
that accepts a single property.Object[]
getParameters
(SettableBeanProperty[] props) Method called to do necessary post-processing such as injection of values and verification of values for required properties, after eitherassignParameter(SettableBeanProperty, Object)
returnstrue
(to indicate all creator properties are found), or when then whole JSON Object has been processed,handleIdValue
(DeserializationContext ctxt, Object bean) Helper method called to handle Object Id value collected earlier, if anyfinal boolean
Returnstrue
if the given property was seen in the JSON source by this buffer.boolean
boolean
readIdProperty
(String propName) Helper method called to see if given non-creator property is the "id property"; and if so, handle appropriately.
-
Field Details
-
_parser
-
_context
-
_objectIdReader
-
_creatorParameters
Buffer used for storing creator parameters for constructing instance. -
_paramsNeeded
protected int _paramsNeededNumber of creator parameters for which we have not yet received values. -
_paramsSeen
protected int _paramsSeenBitflag used to track parameters found from incoming data when number of parameters is less than 32 (fits in int). -
_paramsSeenBig
Bitflag used to track parameters found from incoming data when number of parameters is 32 or higher. -
_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
In case there is an Object Id property to handle, this is the value we have for it.
-
-
Constructor Details
-
PropertyValueBuffer
public PropertyValueBuffer(JsonParser p, DeserializationContext ctxt, int paramCount, ObjectIdReader oir)
-
-
Method Details
-
hasParameter
Returnstrue
if the given property was seen in the JSON source by this buffer.- Since:
- 2.8
-
getParameter
A variation ofgetParameters(SettableBeanProperty[])
that accepts a single property. Whereas the plural form eagerly fetches and validates all properties, this method may be used (along withhasParameter(SettableBeanProperty)
) to let applications only fetch the properties defined in the JSON source itself, and to have some other customized behavior for missing properties.- Throws:
JsonMappingException
- Since:
- 2.8
-
getParameters
Method called to do necessary post-processing such as injection of values and verification of values for required properties, after eitherassignParameter(SettableBeanProperty, Object)
returnstrue
(to indicate all creator properties are found), or when then whole JSON Object has been processed,- Throws:
JsonMappingException
-
_findMissing
- Throws:
JsonMappingException
-
readIdProperty
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
Helper method called to handle Object Id value collected earlier, if any- Throws:
IOException
-
buffered
-
isComplete
public boolean isComplete() -
assignParameter
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
-
bufferAnyProperty
-
bufferMapProperty
-