Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.openjpa.persistence.jest
Interface ObjectFormatter<T>

Type Parameters:
  `T` - the type of encoded output

All Known Implementing Classes:
  ExceptionFormatter, JSONObjectFormatter, PropertiesFormatter, XMLFormatter

    public interface ObjectFormatter<T>

A parameterized interface defines the protocol for converting `managed` persistence instances or a persistent `domain model` into a form suitable for transport to a language-neutral client such as an web browser.

The interface prefers that the resultant resource as a complete representation i.e. all the references contained in the resource can be resolved within the same resource itself. As the intended recipient of this resource is a remote client, an incomplete resource will require the client to request further for any (unresolved) reference resulting in a chatty protocol.

This interface also defines methods for writing the representation into an output stream e.g. `response output stream` of a HTTP Servlet.

Implementation Note: Each concrete formatter type is registered with factory that requires the implementation to have a no-argument constructor.

Author:
  Pinaki Poddar

Field Summary
`static SimpleDateFormat` | `dateFormat`

Method Summary
`T` | `encode(Collection<OpenJPAStateManager> objs, 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.
`T` | `encode(Metamodel model)` Encode the given domain model in to a object.
`String` | `getMimeType()` Gets the mime type produced by this formatter.
`T` | `writeOut(Collection<OpenJPAStateManager> objs, 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.
`T` | `writeOut(Metamodel model, String title, String desc, String uri, OutputStream out)` Encodes the given domain model, then write it into the given output stream.

Field Detail

### dateFormat

    static final SimpleDateFormat dateFormat

Method Detail

### getMimeType

    String getMimeType()

  Gets the mime type produced by this formatter.

### encode

    T encode(Collection<OpenJPAStateManager> objs,
             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. Exact nature of the output type is the generic parameter of this interface.

  Parameters:
    `objs` - a collection of managed instances
    `model` - domain model
  Returns:
    an encoded object e.g. a XML or HTML Document or a JSON object.

### encode

    T encode(Metamodel model)

  Encode the given domain model in to a object.

  Parameters:
    `model` - a meta-model of managed types
  Returns:
    an encoded object e.g. a XML or HTML Document or a JSON object.

### writeOut

    T writeOut(Collection<OpenJPAStateManager> objs,
               Metamodel model,
               String title,
               String desc,
               String uri,
               OutputStream out)
               throws IOException

  Encodes the `persistent closure` of the given collection of objects, then write it into the given output stream.

  Parameters:
    `objs` - 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
    `writer` - a text-oriented output stream
  Throws:
    `IOException`

### writeOut

    T writeOut(Metamodel model,
               String title,
               String desc,
               String uri,
               OutputStream out)
               throws IOException

  Encodes the given domain model, then write it into the given output stream.

  Parameters:
    `model` - a meta-model of managed types
    `writer` - a text-oriented output stream
  Throws:
    `IOException`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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