public class ObjectReader extends ObjectCodec implements Versioned
ObjectMapper
and can be
reused.Modifier and Type | Field and Description |
---|---|
protected DeserializationConfig |
_config
General serialization configuration settings; while immutable,
can use copy-constructor to create modified instances as necessary.
|
protected InjectableValues |
_injectableValues
Values that can be injected during deserialization, if any.
|
protected JsonFactory |
_jsonFactory
Factory used for constructing
JsonGenerator s |
protected DeserializerProvider |
_provider |
protected ConcurrentHashMap<JavaType,JsonDeserializer<Object>> |
_rootDeserializers
Root-level cached deserializers
|
protected FormatSchema |
_schema
When using data format that uses a schema, schema is passed
to parser.
|
protected boolean |
_unwrapRoot
Flag that indicates whether root values are expected to be unwrapped
or not
|
protected Object |
_valueToUpdate
Instance to update with data binding; if any.
|
protected JavaType |
_valueType
Declared type of value to instantiate during deserialization.
|
Modifier | Constructor and Description |
---|---|
protected |
ObjectReader(ObjectMapper mapper,
DeserializationConfig config)
Constructor used by
ObjectMapper for initial instantiation |
protected |
ObjectReader(ObjectMapper mapper,
DeserializationConfig config,
JavaType valueType,
Object valueToUpdate,
FormatSchema schema,
InjectableValues injectableValues) |
protected |
ObjectReader(ObjectReader base,
DeserializationConfig config,
JavaType valueType,
Object valueToUpdate,
FormatSchema schema,
InjectableValues injectableValues)
Copy constructor used for building variations.
|
Modifier and Type | Method and Description |
---|---|
protected Object |
_bind(JsonParser jp)
Actual implementation of value reading+binding operation.
|
protected Object |
_bindAndClose(JsonParser jp) |
protected JsonNode |
_bindAndCloseAsTree(JsonParser jp) |
protected JsonNode |
_bindAsTree(JsonParser jp) |
protected DeserializationContext |
_createDeserializationContext(JsonParser jp,
DeserializationConfig cfg) |
protected JsonDeserializer<Object> |
_findRootDeserializer(DeserializationConfig cfg,
JavaType valueType)
Method called to locate deserializer for the passed root-level value.
|
protected static JsonToken |
_initForReading(JsonParser jp) |
protected Object |
_unwrapAndDeserialize(JsonParser jp,
DeserializationContext ctxt,
JavaType rootType,
JsonDeserializer<Object> deser) |
JsonNode |
createArrayNode()
Method for construct root level Array nodes
for Tree Model instances.
|
JsonNode |
createObjectNode()
Method for construct root level Object nodes
for Tree Model instances.
|
JsonNode |
readTree(InputStream in) |
JsonNode |
readTree(JsonParser jp)
Method to deserialize JSON content as tree expressed
using set of
JsonNode instances. |
JsonNode |
readTree(Reader r) |
JsonNode |
readTree(String content) |
<T> T |
readValue(byte[] src) |
<T> T |
readValue(byte[] src,
int offset,
int length) |
<T> T |
readValue(File src) |
<T> T |
readValue(InputStream src) |
<T> T |
readValue(JsonNode src)
Convenience method for converting results from given JSON tree into given
value type.
|
<T> T |
readValue(JsonParser jp) |
<T> T |
readValue(JsonParser jp,
Class<T> valueType)
Method to deserialize JSON content into a non-container
type (it can be an array type, however): typically a bean, array
or a wrapper type (like
Boolean ). |
<T> T |
readValue(JsonParser jp,
JavaType valueType)
Method to deserialize JSON content as tree expressed
using set of
JsonNode instances. |
<T> T |
readValue(JsonParser jp,
TypeReference<?> valueTypeRef)
Method to deserialize JSON content into a Java type, reference
to which is passed as argument.
|
<T> T |
readValue(Reader src) |
<T> T |
readValue(String src) |
<T> T |
readValue(URL src) |
<T> MappingIterator<T> |
readValues(byte[] src,
int offset,
int length)
Method for reading sequence of Objects from parser stream.
|
<T> MappingIterator<T> |
readValues(File src)
Method for reading sequence of Objects from parser stream.
|
<T> MappingIterator<T> |
readValues(InputStream src)
Method for reading sequence of Objects from parser stream.
|
<T> MappingIterator<T> |
readValues(JsonParser jp)
Method for reading sequence of Objects from parser stream.
|
<T> Iterator<T> |
readValues(JsonParser jp,
Class<T> valueType)
Method for reading sequence of Objects from parser stream,
all with same specified value type.
|
<T> Iterator<T> |
readValues(JsonParser jp,
JavaType valueType)
Method for reading sequence of Objects from parser stream,
all with same specified value type.
|
<T> Iterator<T> |
readValues(JsonParser jp,
TypeReference<?> valueTypeRef)
Method for reading sequence of Objects from parser stream,
all with same specified value type.
|
<T> MappingIterator<T> |
readValues(Reader src)
Method for reading sequence of Objects from parser stream.
|
<T> MappingIterator<T> |
readValues(String json)
Method for reading sequence of Objects from parser stream.
|
<T> MappingIterator<T> |
readValues(URL src)
Method for reading sequence of Objects from parser stream.
|
JsonParser |
treeAsTokens(JsonNode n)
Method for constructing a
JsonParser for reading
contents of a JSON tree, as if it was external serialized
JSON content. |
<T> T |
treeToValue(JsonNode n,
Class<T> valueType)
Convenience method for converting given JSON tree into instance of specified
value type.
|
Version |
version()
Method that will return version information stored in and read from jar
that contains this class.
|
ObjectReader |
withInjectableValues(InjectableValues injectableValues) |
ObjectReader |
withNodeFactory(JsonNodeFactory f) |
ObjectReader |
withSchema(FormatSchema schema) |
ObjectReader |
withType(Class<?> valueType) |
ObjectReader |
withType(JavaType valueType) |
ObjectReader |
withType(Type valueType) |
ObjectReader |
withType(TypeReference<?> valueTypeRef) |
ObjectReader |
withValueToUpdate(Object value) |
void |
writeTree(JsonGenerator jgen,
JsonNode rootNode)
NOTE: NOT implemented for
ObjectReader . |
void |
writeValue(JsonGenerator jgen,
Object value)
Method to serialize given Java Object, using generator
provided.
|
protected final DeserializationConfig _config
protected final boolean _unwrapRoot
protected final ConcurrentHashMap<JavaType,JsonDeserializer<Object>> _rootDeserializers
protected final DeserializerProvider _provider
protected final JsonFactory _jsonFactory
JsonGenerator
sprotected final JavaType _valueType
_valueToUpdate
is non-null, only used for
locating deserializer.protected final Object _valueToUpdate
ArrayType
; array
types can not be modified because array size is immutable.protected final FormatSchema _schema
protected final InjectableValues _injectableValues
protected ObjectReader(ObjectMapper mapper, DeserializationConfig config)
ObjectMapper
for initial instantiationprotected ObjectReader(ObjectMapper mapper, DeserializationConfig config, JavaType valueType, Object valueToUpdate, FormatSchema schema, InjectableValues injectableValues)
protected ObjectReader(ObjectReader base, DeserializationConfig config, JavaType valueType, Object valueToUpdate, FormatSchema schema, InjectableValues injectableValues)
public Version version()
public ObjectReader withType(JavaType valueType)
public ObjectReader withType(Class<?> valueType)
public ObjectReader withType(Type valueType)
public ObjectReader withType(TypeReference<?> valueTypeRef)
public ObjectReader withNodeFactory(JsonNodeFactory f)
public ObjectReader withValueToUpdate(Object value)
public ObjectReader withSchema(FormatSchema schema)
public ObjectReader withInjectableValues(InjectableValues injectableValues)
public <T> T readValue(JsonParser jp) throws IOException, JsonProcessingException
IOException
JsonProcessingException
public <T> T readValue(JsonParser jp, Class<T> valueType) throws IOException, JsonProcessingException
ObjectCodec
Boolean
).
Note: this method should NOT be used if the result type is a
container (Collection
or Map
.
The reason is that due to type erasure, key and value types
can not be introspected when using this method.
readValue
in class ObjectCodec
IOException
JsonProcessingException
public <T> T readValue(JsonParser jp, TypeReference<?> valueTypeRef) throws IOException, JsonProcessingException
ObjectCodec
readValue
in class ObjectCodec
IOException
JsonProcessingException
public <T> T readValue(JsonParser jp, JavaType valueType) throws IOException, JsonProcessingException
ObjectCodec
JsonNode
instances. Returns
root of the resulting tree (where root can consist
of just a single node if the current event is a
value event, not container).readValue
in class ObjectCodec
IOException
JsonProcessingException
public JsonNode readTree(JsonParser jp) throws IOException, JsonProcessingException
ObjectCodec
JsonNode
instances. Returns
root of the resulting tree (where root can consist
of just a single node if the current event is a
value event, not container).readTree
in class ObjectCodec
IOException
JsonProcessingException
public <T> Iterator<T> readValues(JsonParser jp, Class<T> valueType) throws IOException, JsonProcessingException
ObjectCodec
readValues
in class ObjectCodec
IOException
JsonProcessingException
public <T> Iterator<T> readValues(JsonParser jp, TypeReference<?> valueTypeRef) throws IOException, JsonProcessingException
ObjectCodec
readValues
in class ObjectCodec
IOException
JsonProcessingException
public <T> Iterator<T> readValues(JsonParser jp, JavaType valueType) throws IOException, JsonProcessingException
ObjectCodec
readValues
in class ObjectCodec
IOException
JsonProcessingException
public <T> T readValue(InputStream src) throws IOException, JsonProcessingException
IOException
JsonProcessingException
public <T> T readValue(Reader src) throws IOException, JsonProcessingException
IOException
JsonProcessingException
public <T> T readValue(String src) throws IOException, JsonProcessingException
IOException
JsonProcessingException
public <T> T readValue(byte[] src) throws IOException, JsonProcessingException
IOException
JsonProcessingException
public <T> T readValue(byte[] src, int offset, int length) throws IOException, JsonProcessingException
IOException
JsonProcessingException
public <T> T readValue(File src) throws IOException, JsonProcessingException
IOException
JsonProcessingException
public <T> T readValue(URL src) throws IOException, JsonProcessingException
IOException
JsonProcessingException
public <T> T readValue(JsonNode src) throws IOException, JsonProcessingException
objectReader.readValue(src.traverse())
IOException
JsonProcessingException
public JsonNode readTree(InputStream in) throws IOException, JsonProcessingException
IOException
JsonProcessingException
public JsonNode readTree(Reader r) throws IOException, JsonProcessingException
IOException
JsonProcessingException
public JsonNode readTree(String content) throws IOException, JsonProcessingException
IOException
JsonProcessingException
public <T> MappingIterator<T> readValues(JsonParser jp) throws IOException, JsonProcessingException
IOException
JsonProcessingException
public <T> MappingIterator<T> readValues(InputStream src) throws IOException, JsonProcessingException
IOException
JsonProcessingException
public <T> MappingIterator<T> readValues(Reader src) throws IOException, JsonProcessingException
IOException
JsonProcessingException
public <T> MappingIterator<T> readValues(String json) throws IOException, JsonProcessingException
IOException
JsonProcessingException
public <T> MappingIterator<T> readValues(byte[] src, int offset, int length) throws IOException, JsonProcessingException
IOException
JsonProcessingException
public <T> MappingIterator<T> readValues(File src) throws IOException, JsonProcessingException
IOException
JsonProcessingException
public <T> MappingIterator<T> readValues(URL src) throws IOException, JsonProcessingException
IOException
JsonProcessingException
protected Object _bind(JsonParser jp) throws IOException, JsonParseException, JsonMappingException
protected Object _bindAndClose(JsonParser jp) throws IOException, JsonParseException, JsonMappingException
protected JsonNode _bindAsTree(JsonParser jp) throws IOException, JsonParseException, JsonMappingException
protected JsonNode _bindAndCloseAsTree(JsonParser jp) throws IOException, JsonParseException, JsonMappingException
protected static JsonToken _initForReading(JsonParser jp) throws IOException, JsonParseException, JsonMappingException
protected JsonDeserializer<Object> _findRootDeserializer(DeserializationConfig cfg, JavaType valueType) throws JsonMappingException
JsonMappingException
protected DeserializationContext _createDeserializationContext(JsonParser jp, DeserializationConfig cfg)
protected Object _unwrapAndDeserialize(JsonParser jp, DeserializationContext ctxt, JavaType rootType, JsonDeserializer<Object> deser) throws IOException, JsonParseException, JsonMappingException
public JsonNode createArrayNode()
ObjectCodec
createArrayNode
in class ObjectCodec
public JsonNode createObjectNode()
ObjectCodec
createObjectNode
in class ObjectCodec
public JsonParser treeAsTokens(JsonNode n)
ObjectCodec
JsonParser
for reading
contents of a JSON tree, as if it was external serialized
JSON content.treeAsTokens
in class ObjectCodec
public <T> T treeToValue(JsonNode n, Class<T> valueType) throws IOException, JsonProcessingException
ObjectCodec
JsonParser
to
iterate over contents of the tree, and using that parser for data binding.treeToValue
in class ObjectCodec
IOException
JsonProcessingException
public void writeTree(JsonGenerator jgen, JsonNode rootNode) throws IOException, JsonProcessingException
ObjectReader
.writeTree
in class ObjectCodec
IOException
JsonProcessingException
public void writeValue(JsonGenerator jgen, Object value) throws IOException, JsonProcessingException
ObjectCodec
writeValue
in class ObjectCodec
IOException
JsonProcessingException