Interface ObjectFormatter<T>
- Type Parameters:
T- the type of encoded output
- All Known Implementing Classes:
JSONObjectFormatter,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
Fields -
Method Summary
Modifier and TypeMethodDescriptionencode(jakarta.persistence.metamodel.Metamodel model) Encode the given domain model in to a object.encode(Collection<OpenJPAStateManager> objs, jakarta.persistence.metamodel.Metamodel model) Encode thepersistent closureof 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.Gets the mime type produced by this formatter.writeOut(jakarta.persistence.metamodel.Metamodel model, String title, String desc, String uri, OutputStream out) Encodes the given domain model, then write it into the given output stream.writeOut(Collection<OpenJPAStateManager> objs, jakarta.persistence.metamodel.Metamodel model, String title, String desc, String uri, OutputStream out) Encodes thepersistent closureof the given collection of objects, then write it into the given output stream.
-
Field Details
-
dateFormat
-
-
Method Details
-
getMimeType
String getMimeType()Gets the mime type produced by this formatter. -
encode
Encode thepersistent closureof 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 instancesmodel- domain model- Returns:
- an encoded object e.g. a XML or HTML Document or a JSON object.
-
encode
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, jakarta.persistence.metamodel.Metamodel model, String title, String desc, String uri, OutputStream out) throws IOException Encodes thepersistent closureof 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 necessarytitle- TODOdesc- TODOuri- TODOwriter- a text-oriented output stream- Throws:
IOException
-
writeOut
T writeOut(jakarta.persistence.metamodel.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 typeswriter- a text-oriented output stream- Throws:
IOException
-