com.fasterxml.jackson.core
Class ObjectCodec

java.lang.Object
  extended by com.fasterxml.jackson.core.TreeCodec
      extended by com.fasterxml.jackson.core.ObjectCodec
All Implemented Interfaces:
Versioned

public abstract class ObjectCodec
extends TreeCodec
implements 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
protected ObjectCodec()
           
 
Method Summary
abstract  TreeNode createArrayNode()
          Method for construct root level Array nodes for Tree Model instances.
abstract  TreeNode createObjectNode()
          Method for construct root level Object nodes for Tree Model instances.
 JsonFactory getFactory()
          Accessor for finding underlying data format factory (JsonFactory) codec will use for data binding.
 JsonFactory getJsonFactory()
          Deprecated. Since 2.1: Use getFactory() instead.
abstract
<T extends TreeNode>
T
readTree(JsonParser jp)
          Method to deserialize JSON content as tree expressed using set of TreeNode instances.
abstract
<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).
abstract
<T> T
readValue(JsonParser jp, 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 like Collection and Map).
abstract
<T> T
readValue(JsonParser jp, TypeReference<?> valueTypeRef)
          Method to deserialize JSON content into a Java type, reference to which is passed as argument.
abstract
<T> Iterator<T>
readValues(JsonParser jp, Class<T> valueType)
          Method for reading sequence of Objects from parser stream, all with same specified value type.
abstract
<T> Iterator<T>
readValues(JsonParser jp, ResolvedType valueType)
          Method for reading sequence of Objects from parser stream, all with same specified value type.
abstract
<T> Iterator<T>
readValues(JsonParser jp, TypeReference<?> valueTypeRef)
          Method for reading sequence of Objects from parser stream, all with same specified value type.
abstract  JsonParser treeAsTokens(TreeNode n)
          Method for constructing a JsonParser 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.
 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 (see Version for details).
abstract  void writeTree(JsonGenerator jg, TreeNode tree)
           
abstract  void writeValue(JsonGenerator jgen, Object value)
          Method to serialize given Java Object, using generator provided.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ObjectCodec

protected ObjectCodec()
Method Detail

version

public Version 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 (see Version for details).

Specified by:
version in interface Versioned

readValue

public abstract <T> T readValue(JsonParser jp,
                                Class<T> valueType)
                     throws IOException,
                            JsonProcessingException
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).

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.

Throws:
IOException
JsonProcessingException

readValue

public abstract <T> T readValue(JsonParser jp,
                                TypeReference<?> valueTypeRef)
                     throws IOException,
                            JsonProcessingException
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.

Throws:
IOException
JsonProcessingException

readValue

public abstract <T> T readValue(JsonParser jp,
                                ResolvedType valueType)
                     throws IOException,
                            JsonProcessingException
Method to deserialize JSON content into a POJO, type specified with fully resolved type object (so it can be a generic type, including containers like Collection and Map).

Throws:
IOException
JsonProcessingException

readValues

public abstract <T> Iterator<T> readValues(JsonParser jp,
                                           Class<T> valueType)
                                throws IOException,
                                       JsonProcessingException
Method for reading sequence of Objects from parser stream, all with same specified value type.

Throws:
IOException
JsonProcessingException

readValues

public abstract <T> Iterator<T> readValues(JsonParser jp,
                                           TypeReference<?> valueTypeRef)
                                throws IOException,
                                       JsonProcessingException
Method for reading sequence of Objects from parser stream, all with same specified value type.

Throws:
IOException
JsonProcessingException

readValues

public abstract <T> Iterator<T> readValues(JsonParser jp,
                                           ResolvedType valueType)
                                throws IOException,
                                       JsonProcessingException
Method for reading sequence of Objects from parser stream, all with same specified value type.

Throws:
IOException
JsonProcessingException

writeValue

public abstract void writeValue(JsonGenerator jgen,
                                Object value)
                         throws IOException,
                                JsonProcessingException
Method to serialize given Java Object, using generator provided.

Throws:
IOException
JsonProcessingException

readTree

public abstract <T extends TreeNode> T readTree(JsonParser jp)
                                     throws IOException,
                                            JsonProcessingException
Method to deserialize JSON content as tree expressed using set of TreeNode 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 class TreeCodec
Returns:
next tree from jp, or null if empty.
Throws:
IOException
JsonProcessingException

writeTree

public abstract void writeTree(JsonGenerator jg,
                               TreeNode tree)
                        throws IOException,
                               JsonProcessingException
Specified by:
writeTree in class TreeCodec
Throws:
IOException
JsonProcessingException

createObjectNode

public abstract TreeNode createObjectNode()
Method for construct root level Object nodes for Tree Model instances.

Specified by:
createObjectNode in class TreeCodec

createArrayNode

public abstract TreeNode createArrayNode()
Method for construct root level Array nodes for Tree Model instances.

Specified by:
createArrayNode in class TreeCodec

treeAsTokens

public abstract JsonParser treeAsTokens(TreeNode n)
Method for constructing a JsonParser for reading contents of a JSON tree, as if it was external serialized JSON content.

Specified by:
treeAsTokens in class TreeCodec

treeToValue

public abstract <T> T treeToValue(TreeNode n,
                                  Class<T> valueType)
                       throws JsonProcessingException
Convenience method for converting given JSON tree into instance of specified value type. This is equivalent to first constructing a JsonParser to iterate over contents of the tree, and using that parser for data binding.

Throws:
JsonProcessingException

getJsonFactory

@Deprecated
public JsonFactory getJsonFactory()
Deprecated. Since 2.1: Use getFactory() instead.


getFactory

public JsonFactory getFactory()
Accessor for finding underlying data format factory (JsonFactory) codec will use for data binding.

Since:
2.1


Copyright © 2008-2016 FasterXML. All Rights Reserved.