org.apache.openjpa.persistence.jest
Class JSONObjectFormatter

java.lang.Object
  extended by org.apache.openjpa.persistence.jest.JSONObjectFormatter
All Implemented Interfaces:
ObjectFormatter<JSON>

public class JSONObjectFormatter
extends Object
implements ObjectFormatter<JSON>

Marshals a root instance and its persistent closure as JSON object. The closure is resolved against the persistence context that contains the root instance. The JSON format introduces a $id and $ref to address reference that pure JSON does not.

Author:
Pinaki Poddar

Field Summary
 
Fields inherited from interface org.apache.openjpa.persistence.jest.ObjectFormatter
dateFormat
 
Constructor Summary
JSONObjectFormatter()
           
 
Method Summary
 JSON encode(Collection<OpenJPAStateManager> sms, Metamodel model)
          Encode the persistent closure of the given collection of managed instances as a resource e.g a XML or HTML document or an interactive document with JavaScript or a JSON array.
 JSON encode(Metamodel model)
          Encode the given domain model in to a object.
 void encode(Object obj, JPAServletContext ctx)
           
 String getMimeType()
          Gets the mime type produced by this formatter.
(package private)  String streamToString(Object value)
          Convert the given stream (either an InutStream or a Reader) to a String to be included in CDATA section of a XML document.
(package private)  String typeOf(OpenJPAStateManager sm)
           
 JSON writeOut(Collection<OpenJPAStateManager> sms, Metamodel model, String title, String desc, String uri, OutputStream out)
          Encodes the persistent closure of the given collection of objects, then write it into the given output stream.
 JSON writeOut(Metamodel model, String title, String desc, String uri, OutputStream out)
          Encodes the given domain model, then write it into the given output stream.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JSONObjectFormatter

public JSONObjectFormatter()
Method Detail

getMimeType

public String getMimeType()
Description copied from interface: ObjectFormatter
Gets the mime type produced by this formatter.

Specified by:
getMimeType in interface ObjectFormatter<JSON>

encode

public void encode(Object obj,
                   JPAServletContext ctx)

writeOut

public JSON writeOut(Collection<OpenJPAStateManager> sms,
                     Metamodel model,
                     String title,
                     String desc,
                     String uri,
                     OutputStream out)
              throws IOException
Description copied from interface: ObjectFormatter
Encodes the persistent closure of the given collection of objects, then write it into the given output stream.

Specified by:
writeOut in interface ObjectFormatter<JSON>
Parameters:
sms - the collection of objects to be formatted.
model - a meta-model of managed types, provided for easier introspection if necessary
title - TODO
desc - TODO
uri - TODO
Throws:
IOException

encode

public JSON encode(Collection<OpenJPAStateManager> sms,
                   Metamodel model)
Description copied from interface: ObjectFormatter
Encode the persistent closure of the given collection of managed instances as a resource e.g a XML or HTML document or an interactive document with JavaScript or a JSON array. Exact nature of the output type is the generic parameter of this interface.

Specified by:
encode in interface ObjectFormatter<JSON>
Parameters:
sms - a collection of managed instances
model - domain model
Returns:
an encoded object e.g. a XML or HTML Document or a JSON object.

typeOf

String typeOf(OpenJPAStateManager sm)

streamToString

String streamToString(Object value)
Convert the given stream (either an InutStream or a Reader) to a String to be included in CDATA section of a XML document.

Parameters:
value - the field value to be converted. Can not be null
Returns:

encode

public JSON encode(Metamodel model)
Description copied from interface: ObjectFormatter
Encode the given domain model in to a object.

Specified by:
encode in interface ObjectFormatter<JSON>
Parameters:
model - a meta-model of managed types
Returns:
an encoded object e.g. a XML or HTML Document or a JSON object.

writeOut

public JSON writeOut(Metamodel model,
                     String title,
                     String desc,
                     String uri,
                     OutputStream out)
              throws IOException
Description copied from interface: ObjectFormatter
Encodes the given domain model, then write it into the given output stream.

Specified by:
writeOut in interface ObjectFormatter<JSON>
Parameters:
model - a meta-model of managed types
Throws:
IOException


Copyright © 2006-2012 Apache Software Foundation. All Rights Reserved.