public final class CollectionCollector extends java.lang.Object implements StructureCollector<java.util.Map<java.lang.String,java.lang.Object>,java.util.List<java.lang.Object>,java.util.Map<java.lang.String,java.lang.Object>,java.util.List<java.lang.Object>>
HashMap
, ArrayList
, and
null
instances. The result types are finished using
Collections.unmodifiableMap()
and Collections.unmodifiableList()
.
This collector holds no state, so a singleton is provided.
Modifier and Type | Field and Description |
---|---|
static CollectionCollector |
INSTANCE
The singleton instance of this collector.
|
Modifier and Type | Method and Description |
---|---|
void |
addNull(java.util.List<java.lang.Object> array)
Adds a Java
null value to the given JSON array. |
void |
addNull(java.util.Map<java.lang.String,java.lang.Object> object,
java.lang.String key)
Adds a Java
null value an an entry to the given JSON object. |
void |
addValue(java.util.List<java.lang.Object> array,
java.lang.Object value)
Adds the given value to the given JSON array accumulator.
|
void |
addValue(java.util.Map<java.lang.String,java.lang.Object> object,
java.lang.String key,
java.lang.Object value)
Adds the given entry to the given JSON object.
|
java.util.List<java.lang.Object> |
createArrayAccumulator()
Create a new
ArrayList into which JSON array entries are added. |
java.util.Map<java.lang.String,java.lang.Object> |
createObjectAccumulator()
Create a new
HashMap into which JSON object entries are added. |
java.util.List<java.lang.Object> |
finishArray(java.util.List<java.lang.Object> accumulator)
Finish the given JSON array accumulator, returning the array result.
|
java.util.Map<java.lang.String,java.lang.Object> |
finishObject(java.util.Map<java.lang.String,java.lang.Object> accumulator)
Finish the given JSON object accumulator, returning the object result.
|
java.lang.Object |
nullValue()
Provide a null value for circumstances where JSON null is the complete
result of a JSON parse.
|
public static final CollectionCollector INSTANCE
public java.util.Map<java.lang.String,java.lang.Object> createObjectAccumulator()
HashMap
into which JSON object entries are added.createObjectAccumulator
in interface StructureCollector<java.util.Map<java.lang.String,java.lang.Object>,java.util.List<java.lang.Object>,java.util.Map<java.lang.String,java.lang.Object>,java.util.List<java.lang.Object>>
HashMap
instancepublic void addValue(java.util.Map<java.lang.String,java.lang.Object> object, java.lang.String key, java.lang.Object value) throws JSONException
StructureCollector
addValue
in interface StructureCollector<java.util.Map<java.lang.String,java.lang.Object>,java.util.List<java.lang.Object>,java.util.Map<java.lang.String,java.lang.Object>,java.util.List<java.lang.Object>>
object
- the JSON object accumulator to which the entry will be addedkey
- the key of the entryvalue
- the value of the entryJSONException
- may be thrown if a duplicate key is encounteredpublic void addNull(java.util.Map<java.lang.String,java.lang.Object> object, java.lang.String key) throws JSONException
null
value an an entry to the given JSON object.addNull
in interface StructureCollector<java.util.Map<java.lang.String,java.lang.Object>,java.util.List<java.lang.Object>,java.util.Map<java.lang.String,java.lang.Object>,java.util.List<java.lang.Object>>
object
- the target to which the entry will be addedkey
- the key of the entryJSONException
- a duplicate key is encounteredpublic java.util.Map<java.lang.String,java.lang.Object> finishObject(java.util.Map<java.lang.String,java.lang.Object> accumulator)
Map
.finishObject
in interface StructureCollector<java.util.Map<java.lang.String,java.lang.Object>,java.util.List<java.lang.Object>,java.util.Map<java.lang.String,java.lang.Object>,java.util.List<java.lang.Object>>
accumulator
- the JSON object accumulator to be finishedMap
public java.util.List<java.lang.Object> createArrayAccumulator()
ArrayList
into which JSON array entries are added.createArrayAccumulator
in interface StructureCollector<java.util.Map<java.lang.String,java.lang.Object>,java.util.List<java.lang.Object>,java.util.Map<java.lang.String,java.lang.Object>,java.util.List<java.lang.Object>>
ArrayList
instancepublic void addValue(java.util.List<java.lang.Object> array, java.lang.Object value)
StructureCollector
addValue
in interface StructureCollector<java.util.Map<java.lang.String,java.lang.Object>,java.util.List<java.lang.Object>,java.util.Map<java.lang.String,java.lang.Object>,java.util.List<java.lang.Object>>
array
- the JSON array accumulator to which the value will be addedvalue
- the value to be addedpublic void addNull(java.util.List<java.lang.Object> array)
null
value to the given JSON array.addNull
in interface StructureCollector<java.util.Map<java.lang.String,java.lang.Object>,java.util.List<java.lang.Object>,java.util.Map<java.lang.String,java.lang.Object>,java.util.List<java.lang.Object>>
array
- the target to which the null value will be addedpublic java.util.List<java.lang.Object> finishArray(java.util.List<java.lang.Object> accumulator)
List
.finishArray
in interface StructureCollector<java.util.Map<java.lang.String,java.lang.Object>,java.util.List<java.lang.Object>,java.util.Map<java.lang.String,java.lang.Object>,java.util.List<java.lang.Object>>
accumulator
- the JSON array accumulator to be finishedList
public java.lang.Object nullValue()
StructureCollector
nullValue
in interface StructureCollector<java.util.Map<java.lang.String,java.lang.Object>,java.util.List<java.lang.Object>,java.util.Map<java.lang.String,java.lang.Object>,java.util.List<java.lang.Object>>