com.google.api.client.json
Class JsonFactory

java.lang.Object
  extended by com.google.api.client.json.JsonFactory
Direct Known Subclasses:
GsonFactory, JacksonFactory

public abstract class JsonFactory
extends Object

Abstract low-level JSON factory.

Implementation is thread-safe, and sub-classes must be thread-safe. For maximum efficiency, applications should use a single globally-shared instance of the JSON factory.

Since:
1.3
Author:
Yaniv Inbar

Constructor Summary
JsonFactory()
           
 
Method Summary
abstract  JsonGenerator createJsonGenerator(OutputStream out, JsonEncoding enc)
          Returns a new instance of a low-level JSON serializer for the given output stream and encoding.
abstract  JsonGenerator createJsonGenerator(Writer writer)
          Returns a new instance of a low-level JSON serializer for the given writer.
abstract  JsonParser createJsonParser(InputStream in)
          Returns a new instance of a low-level JSON parser for the given input stream.
abstract  JsonParser createJsonParser(Reader reader)
          Returns a new instance of a low-level JSON parser for the given reader.
abstract  JsonParser createJsonParser(String value)
          Returns a new instance of a low-level JSON parser for the given string value.
<T> T
fromInputStream(InputStream inputStream, Class<T> destinationClass)
          Parse and close an input stream as a JSON object, array, or value into a new instance of the given destination class using JsonParser.parseAndClose(Class, CustomizeJsonParser).
<T> T
fromReader(Reader reader, Class<T> destinationClass)
          Parse and close a reader as a JSON object, array, or value into a new instance of the given destination class using JsonParser.parseAndClose(Class, CustomizeJsonParser).
<T> T
fromString(String value, Class<T> destinationClass)
          Parses a string value as a JSON object, array, or value into a new instance of the given destination class using JsonParser.parse(Class, CustomizeJsonParser).
 byte[] toByteArray(Object item)
          Returns a UTF-8 encoded byte array of the serialized JSON representation for the given item using JsonGenerator.serialize(Object).
 String toPrettyString(Object item)
          Returns a pretty-printed serialized JSON string representation for the given item using JsonGenerator.serialize(Object) with JsonGenerator.enablePrettyPrint().
 String toString(Object item)
          Returns a serialized JSON string representation for the given item using JsonGenerator.serialize(Object).
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JsonFactory

public JsonFactory()
Method Detail

createJsonParser

public abstract JsonParser createJsonParser(InputStream in)
                                     throws IOException
Returns a new instance of a low-level JSON parser for the given input stream.

Parameters:
in - input stream
Returns:
new instance of a low-level JSON parser
Throws:
IOException - if failed

createJsonParser

public abstract JsonParser createJsonParser(String value)
                                     throws IOException
Returns a new instance of a low-level JSON parser for the given string value.

Parameters:
value - string value
Returns:
new instance of a low-level JSON parser
Throws:
IOException - if failed

createJsonParser

public abstract JsonParser createJsonParser(Reader reader)
                                     throws IOException
Returns a new instance of a low-level JSON parser for the given reader.

Parameters:
reader - reader
Returns:
new instance of a low-level JSON parser
Throws:
IOException - if failed

createJsonGenerator

public abstract JsonGenerator createJsonGenerator(OutputStream out,
                                                  JsonEncoding enc)
                                           throws IOException
Returns a new instance of a low-level JSON serializer for the given output stream and encoding.

Parameters:
out - output stream
enc - encoding
Returns:
new instance of a low-level JSON serializer
Throws:
IOException - if failed

createJsonGenerator

public abstract JsonGenerator createJsonGenerator(Writer writer)
                                           throws IOException
Returns a new instance of a low-level JSON serializer for the given writer.

Parameters:
writer - writer
Returns:
new instance of a low-level JSON serializer
Throws:
IOException - if failed

toString

public final String toString(Object item)
Returns a serialized JSON string representation for the given item using JsonGenerator.serialize(Object).

Parameters:
item - data key/value pairs
Returns:
serialized JSON string representation

toPrettyString

public final String toPrettyString(Object item)
Returns a pretty-printed serialized JSON string representation for the given item using JsonGenerator.serialize(Object) with JsonGenerator.enablePrettyPrint().

The specifics of how the JSON representation is made pretty is implementation dependent, and should not be relied on. However, it is assumed to be legal, and in fact differs from toString(Object) only by adding whitespace that does not change its meaning.

Parameters:
item - data key/value pairs
Returns:
serialized JSON string representation
Since:
1.6

toByteArray

public final byte[] toByteArray(Object item)
Returns a UTF-8 encoded byte array of the serialized JSON representation for the given item using JsonGenerator.serialize(Object).

Parameters:
item - data key/value pairs
Returns:
byte array of the serialized JSON representation
Since:
1.7

fromString

public final <T> T fromString(String value,
                              Class<T> destinationClass)
                   throws IOException
Parses a string value as a JSON object, array, or value into a new instance of the given destination class using JsonParser.parse(Class, CustomizeJsonParser).

Parameters:
value - JSON string value
destinationClass - destination class that has an accessible default constructor to use to create a new instance
Returns:
new instance of the parsed destination class
Throws:
IOException
Since:
1.4

fromInputStream

public final <T> T fromInputStream(InputStream inputStream,
                                   Class<T> destinationClass)
                        throws IOException
Parse and close an input stream as a JSON object, array, or value into a new instance of the given destination class using JsonParser.parseAndClose(Class, CustomizeJsonParser).

Parameters:
inputStream - JSON value in an input stream
destinationClass - destination class that has an accessible default constructor to use to create a new instance
Returns:
new instance of the parsed destination class
Throws:
IOException
Since:
1.7

fromReader

public final <T> T fromReader(Reader reader,
                              Class<T> destinationClass)
                   throws IOException
Parse and close a reader as a JSON object, array, or value into a new instance of the given destination class using JsonParser.parseAndClose(Class, CustomizeJsonParser).

Parameters:
reader - JSON value in a reader
destinationClass - destination class that has an accessible default constructor to use to create a new instance
Returns:
new instance of the parsed destination class
Throws:
IOException
Since:
1.7


Copyright © 2011-2012 Google. All Rights Reserved.