Package com.fasterxml.jackson.core
Class ObjectCodec
java.lang.Object
com.fasterxml.jackson.core.TreeCodec
com.fasterxml.jackson.core.ObjectCodec
- All Implemented Interfaces:
Versioned
Abstract class that defines the interface that
JsonParser
and
JsonGenerator
use to serialize and deserialize regular
Java objects (POJOs aka Beans).
The standard implementation of this class is
com.fasterxml.jackson.databind.ObjectMapper
,
defined in the "jackson-databind".
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionabstract TreeNode
Method for construct root level Array nodes for Tree Model instances.abstract TreeNode
Method for construct root level Object nodes for Tree Model instances.Accessor for finding underlying data format factory (JsonFactory
) codec will use for data binding.Deprecated.abstract <T extends TreeNode>
TMethod for deserializing JSON content as tree expressed using set ofTreeNode
instances.abstract <T> T
readValue
(JsonParser p, ResolvedType valueType) Method to deserialize JSON content into a POJO, type specified with fully resolved type object (so it can be a generic type, including containers likeCollection
andMap
).abstract <T> T
readValue
(JsonParser p, TypeReference<T> valueTypeRef) Method to deserialize JSON content into a Java type, reference to which is passed as argument.abstract <T> T
readValue
(JsonParser p, 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 (likeBoolean
).abstract <T> Iterator<T>
readValues
(JsonParser p, ResolvedType valueType) Method for reading sequence of Objects from parser stream, all with same specified value type.abstract <T> Iterator<T>
readValues
(JsonParser p, TypeReference<T> valueTypeRef) Method for reading sequence of Objects from parser stream, all with same specified value type.abstract <T> Iterator<T>
readValues
(JsonParser p, Class<T> valueType) Method for reading sequence of Objects from parser stream, all with same specified value type.abstract JsonParser
Method for constructing aJsonParser
for reading contents of a JSON tree, as if it was external serialized JSON content.abstract <T> T
treeToValue
(TreeNode n, Class<T> valueType) Convenience method for converting given JSON tree into instance of specified value type.abstract Version
version()
Method called to detect version of the component that implements this interface; returned version should never be null, but may return specific "not available" instance (seeVersion
for details).abstract void
writeTree
(JsonGenerator gen, TreeNode tree) Method for serializing JSON content from given Tree instance, using specified generator.abstract void
writeValue
(JsonGenerator gen, Object value) Method to serialize given Java Object, using generator provided.Methods inherited from class com.fasterxml.jackson.core.TreeCodec
missingNode, nullNode
-
Constructor Details
-
ObjectCodec
protected ObjectCodec()
-
-
Method Details
-
version
Description copied from interface:Versioned
Method called to detect version of the component that implements this interface; returned version should never be null, but may return specific "not available" instance (seeVersion
for details). -
readValue
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 (likeBoolean
).Note: this method should NOT be used if the result type is a container (
Collection
orMap
. The reason is that due to type erasure, key and value types can not be introspected when using this method.- Type Parameters:
T
- Nominal parameter for target type- Parameters:
p
- Parser to use for decoding content to bindvalueType
- Java value type to bind content to- Returns:
- Value deserialized
- Throws:
IOException
- for low-level read issues, orJsonParseException
for decoding problems
-
readValue
Method to deserialize JSON content into a Java type, reference to which is passed as argument. Type is passed using so-called "super type token" and specifically needs to be used if the root type is a parameterized (generic) container type.- Type Parameters:
T
- Nominal parameter for target type- Parameters:
p
- Parser to use for decoding content to bindvalueTypeRef
- Java value type to bind content to- Returns:
- Value deserialized
- Throws:
IOException
- for low-level read issues, orJsonParseException
for decoding problems
-
readValue
Method to deserialize JSON content into a POJO, type specified with fully resolved type object (so it can be a generic type, including containers likeCollection
andMap
).- Type Parameters:
T
- Nominal parameter for target type- Parameters:
p
- Parser to use for decoding content to bindvalueType
- Java value type to bind content to- Returns:
- Value deserialized
- Throws:
IOException
- for low-level read issues, orJsonParseException
for decoding problems
-
readValues
Method for reading sequence of Objects from parser stream, all with same specified value type.- Type Parameters:
T
- Nominal parameter for target type- Parameters:
p
- Parser to use for decoding content to bindvalueType
- Java value type to bind content to- Returns:
- Iterator for incrementally deserializing values
- Throws:
IOException
- for low-level read issues, orJsonParseException
for decoding problems
-
readValues
public abstract <T> Iterator<T> readValues(JsonParser p, TypeReference<T> valueTypeRef) throws IOException Method for reading sequence of Objects from parser stream, all with same specified value type.- Type Parameters:
T
- Nominal parameter for target type- Parameters:
p
- Parser to use for decoding content to bindvalueTypeRef
- Java value type to bind content to- Returns:
- Iterator for incrementally deserializing values
- Throws:
IOException
- for low-level read issues, orJsonParseException
for decoding problems
-
readValues
Method for reading sequence of Objects from parser stream, all with same specified value type.- Type Parameters:
T
- Nominal parameter for target type- Parameters:
p
- Parser to use for decoding content to bindvalueType
- Java value type to bind content to- Returns:
- Iterator for incrementally deserializing values
- Throws:
IOException
- for low-level read issues, orJsonParseException
for decoding problems
-
writeValue
Method to serialize given Java Object, using generator provided.- Parameters:
gen
- Generator to use for serializing valuevalue
- Value to serialize- Throws:
IOException
- for low-level write issues, orJsonGenerationException
for decoding problems
-
readTree
Method for deserializing JSON content as tree expressed using set ofTreeNode
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). Empty or whitespace documents return null.- Specified by:
readTree
in classTreeCodec
- Returns:
- next tree from
p
, ornull
if empty. - Throws:
IOException
- for low-level read issues, orJsonParseException
for decoding problems
-
writeTree
Method for serializing JSON content from given Tree instance, using specified generator.- Specified by:
writeTree
in classTreeCodec
- Parameters:
gen
- Generator to use for serializing valuetree
- Tree to serialize- Throws:
IOException
- for low-level write issues, orJsonGenerationException
for decoding problems
-
createObjectNode
Method for construct root level Object nodes for Tree Model instances.- Specified by:
createObjectNode
in classTreeCodec
- Returns:
- Object node created
-
createArrayNode
Method for construct root level Array nodes for Tree Model instances.- Specified by:
createArrayNode
in classTreeCodec
- Returns:
- Array node created
-
treeAsTokens
Method for constructing aJsonParser
for reading contents of a JSON tree, as if it was external serialized JSON content.- Specified by:
treeAsTokens
in classTreeCodec
- Parameters:
n
- Content to traverse over- Returns:
- Parser constructed for traversing over contents of specified node
-
treeToValue
Convenience method for converting given JSON tree into instance of specified value type. This is equivalent to first constructing aJsonParser
to iterate over contents of the tree, and using that parser for data binding.- Type Parameters:
T
- Nominal parameter for target type- Parameters:
n
- Tree to convertvalueType
- Java target value type to convert content to- Returns:
- Converted value instance
- Throws:
JsonProcessingException
- if structural conversion fails
-
getJsonFactory
Deprecated.UsegetFactory()
instead.- Returns:
- Underlying
JsonFactory
instance
-
getFactory
Accessor for finding underlying data format factory (JsonFactory
) codec will use for data binding.- Returns:
- Underlying
JsonFactory
instance
-
getFactory()
instead.