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, Charset enc)
          Returns a new instance of a low-level JSON serializer for the given output stream and encoding.
abstract  JsonGenerator createJsonGenerator(OutputStream out, JsonEncoding enc)
          Deprecated. (scheduled to be removed in 1.11) Use createJsonGenerator(OutputStream, Charset) instead.
abstract  JsonGenerator createJsonGenerator(Writer writer)
          Returns a new instance of a low-level JSON serializer for the given writer.
 JsonObjectParser createJsonObjectParser()
          Creates an object parser which uses this factory to parse JSON data.
abstract  JsonParser createJsonParser(InputStream in)
          Returns a new instance of a low-level JSON parser for the given input stream.
abstract  JsonParser createJsonParser(InputStream in, Charset charset)
          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, Charset charset, 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
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. The parser tries to detect the charset of the input stream by itself.

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

createJsonParser

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

Parameters:
in - input stream
charset - non-null charset in which the input stream is encoded
Returns:
new instance of a low-level JSON parser
Throws:
IOException
Since:
1.10

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

@Deprecated
public abstract JsonGenerator createJsonGenerator(OutputStream out,
                                                             JsonEncoding enc)
                                           throws IOException
Deprecated. (scheduled to be removed in 1.11) Use createJsonGenerator(OutputStream, Charset) instead.

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(OutputStream out,
                                                  Charset 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
Since:
1.10

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

createJsonObjectParser

public final JsonObjectParser createJsonObjectParser()
Creates an object parser which uses this factory to parse JSON data.

Since:
1.10

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). Tries to detect the charset of the input stream automatically.

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

fromInputStream

public final <T> T fromInputStream(InputStream inputStream,
                                   Charset charset,
                                   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
charset - Charset in which the stream is encoded
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.10

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.