public class JSONReader extends Object
ValueReader
s), but does not handle
any of reading itself (despite name).
Life-cycle is such that initial instance (called blueprint)
is constructed first (including possible configuration
using mutant factory methods). This blueprint object
acts as a factory, and is never used for direct reading;
instead, per-call instance is created by calling
perOperationInstance(int, com.fasterxml.jackson.core.JsonParser)
.
Modifier and Type | Field and Description |
---|---|
protected CollectionBuilder |
_collectionBuilder
Handler that takes care of constructing
Map s as needed |
protected int |
_features |
protected MapBuilder |
_mapBuilder
Handler that takes care of constructing
Map s as needed |
protected JsonParser |
_parser |
protected ValueReaderLocator |
_readerLocator
Object that is used to find value readers dynamically.
|
protected TreeCodec |
_treeCodec |
Modifier | Constructor and Description |
---|---|
|
JSONReader(int features,
ValueReaderLocator td,
TreeCodec treeCodec,
CollectionBuilder lb,
MapBuilder mb)
Constructor used for creating the blueprint instances.
|
protected |
JSONReader(JSONReader base,
int features,
ValueReaderLocator td,
JsonParser p)
Constructor used for per-operation (non-blueprint) instance.
|
Modifier and Type | Method and Description |
---|---|
protected CollectionBuilder |
_collectionBuilder(Class<?> collType) |
protected MapBuilder |
_mapBuilder(Class<?> mapType) |
protected TreeCodec |
_treeCodec() |
protected JSONReader |
_with(int features,
ValueReaderLocator td,
TreeCodec tc,
CollectionBuilder lb,
MapBuilder mb)
Overridable method that all mutant factories call if a new instance
is to be constructed
|
boolean |
arraysAsLists() |
JSONReader |
perOperationInstance(int features,
JsonParser p) |
Object[] |
readArray()
Method for reading a JSON Array from input and building a
Object[]
out of it. |
<T> T[] |
readArrayOf(Class<T> type) |
<T> T |
readBean(Class<T> type)
Method for reading a JSON Object from input and building a Bean of
specified type out of it; Bean has to conform to standard Java Bean
specification by having setters for passing JSON Object properties.
|
List<Object> |
readList()
Method for reading a JSON Array from input and building a
List
out of it. |
<T> List<T> |
readListOf(Class<T> type)
Method for reading a JSON Array from input and building a
List
out of it, binding values into specified type . |
Map<Object,Object> |
readMap()
Method for reading a JSON Object from input and building a
Map
out of it. |
<T> Map<String,T> |
readMapOf(Class<T> type)
Method for reading a JSON Object from input and building a
Map
out of it, binding values into specified type . |
Object |
readValue()
|
JSONReader |
with(CollectionBuilder lb) |
JSONReader |
with(MapBuilder mb) |
JSONReader |
with(ReaderWriterProvider rwp) |
JSONReader |
withCacheCheck(int features) |
protected final int _features
protected final TreeCodec _treeCodec
protected final ValueReaderLocator _readerLocator
protected final MapBuilder _mapBuilder
Map
s as neededprotected final CollectionBuilder _collectionBuilder
Map
s as neededprotected final JsonParser _parser
public JSONReader(int features, ValueReaderLocator td, TreeCodec treeCodec, CollectionBuilder lb, MapBuilder mb)
protected JSONReader(JSONReader base, int features, ValueReaderLocator td, JsonParser p)
public JSONReader withCacheCheck(int features)
public JSONReader with(MapBuilder mb)
public JSONReader with(CollectionBuilder lb)
public JSONReader with(ReaderWriterProvider rwp)
protected JSONReader _with(int features, ValueReaderLocator td, TreeCodec tc, CollectionBuilder lb, MapBuilder mb)
public JSONReader perOperationInstance(int features, JsonParser p)
public boolean arraysAsLists()
public Object readValue() throws IOException
Map
for JSON Object, Map
for JSON Array (or, Object[]
if so configured),
String
for JSON String value and so on.IOException
public Map<Object,Object> readMap() throws IOException
Map
out of it. Note that if input does NOT contain a
JSON Object, JSONObjectException
will be thrown.IOException
public List<Object> readList() throws IOException
List
out of it. Note that if input does NOT contain a
JSON Array, JSONObjectException
will be thrown.IOException
public Object[] readArray() throws IOException
Object[]
out of it. Note that if input does NOT contain a
JSON Array, JSONObjectException
will be thrown.IOException
public <T> T readBean(Class<T> type) throws IOException
IOException
public <T> T[] readArrayOf(Class<T> type) throws IOException
IOException
public <T> List<T> readListOf(Class<T> type) throws IOException
List
out of it, binding values into specified type
.
Note that if input does NOT contain a JSON Array, JSONObjectException
will be thrown.IOException
public <T> Map<String,T> readMapOf(Class<T> type) throws IOException
Map
out of it, binding values into specified type
.
Note that if input does NOT contain a JSON Object, JSONObjectException
will be thrown.IOException
protected TreeCodec _treeCodec() throws JSONObjectException
JSONObjectException
protected MapBuilder _mapBuilder(Class<?> mapType)
protected CollectionBuilder _collectionBuilder(Class<?> collType)
Copyright © 2020 FasterXML. All rights reserved.