org.glassfish.jersey.server.mvc.spi
Interface TemplateProcessor<T>

Type Parameters:
T - the type of the template object.
All Known Implementing Classes:
DefaultTemplateProcessor

@Contract
@ConstrainedTo(value=SERVER)
public interface TemplateProcessor<T>

A view processor.

Implementations of this interface shall be capable of resolving a template name (+ media type) to a template reference that identifies a template supported by the implementation. And, processing the template, identified by template reference and media type, the results of which are written to an output stream.

Implementations can register a view processor as a provider, for example, annotating the implementation class with Provider or registering an implementing class or instance as a singleton with ResourceConfig or Application.

Such view processors could be JSP view processors (supported by the Jersey servlet and filter implementations) or say Freemarker or Velocity view processors (not implemented).

Author:
Paul Sandoz (paul.sandoz at oracle.com), Michal Gajdos (michal.gajdos at oracle.com)

Method Summary
 T resolve(java.lang.String name, MediaType mediaType)
          Resolve a template name to a template reference.
 void writeTo(T templateReference, Viewable viewable, MediaType mediaType, java.io.OutputStream out)
          Process a template and write the result to an output stream.
 

Method Detail

resolve

T resolve(java.lang.String name,
          MediaType mediaType)
Resolve a template name to a template reference.

Parameters:
name - the template name.
mediaType - requested media type of the template.
Returns:
the template reference, otherwise null if the template name cannot be resolved.

writeTo

void writeTo(T templateReference,
             Viewable viewable,
             MediaType mediaType,
             java.io.OutputStream out)
             throws java.io.IOException
Process a template and write the result to an output stream.

Parameters:
templateReference - the template reference. This is obtained by calling the resolve(String, javax.ws.rs.core.MediaType) method with a template name and media type.
viewable - the viewable that contains the model to be passed to the template.
mediaType - media type the templateReference should be transformed into.
out - the output stream to write the result of processing the template.
Throws:
java.io.IOException - if there was an error processing the template.


Copyright © 2007-2013, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.