juzu.template
Class Template

java.lang.Object
  extended by juzu.template.Template

public abstract class Template
extends Object

A template as seen by an application. A template is identified by its path and can used to produce markup. Templates perform rendering using a parameter map and a locale as inputs and produces a markup response.

Templates can be used to produce a controller response using the API like

   public Response.Content index() {
     return template.ok();
   }
 

The template API offers also methods for returning other response status:

Template rendering can also be parameterized with a parameter map:

   public Response.Content index() {
     return template.with(parameters).ok();
   }
 

Template can be parameterized using a fluent API with the Template.Builder object provided by the with() method:

return template.with().set("date", new java.util.Date()).ok()

The template compiler produces also a subclass of the template that can be used instead of this base template class. This sub class overrides the with() method to return a builder that provides typed methods when the template declares parameters:

return template.with().date(new java.util.Date()).ok()

Author:
Julien Viet

Nested Class Summary
 class Template.Builder
          A builder providing a fluent syntax for rendering a template.
 
Constructor Summary
Template(juzu.impl.plugin.template.TemplatePlugin plugin, juzu.impl.common.Path path)
           
Template(juzu.impl.plugin.template.TemplatePlugin plugin, String path)
           
 
Method Summary
 juzu.impl.common.Path getPath()
          Returns the template path.
 Response.Content notFound()
          Renders the template.
 Response.Content notFound(Locale locale)
          Renders the template.
 Response.Content notFound(Map<String,?> parameters)
          Renders the template.
 Response.Content notFound(Map<String,?> parameters, Locale locale)
          Renders the template.
 Response.Content ok()
          Renders the template.
 Response.Content ok(Locale locale)
          Renders the template.
 Response.Content ok(Map<String,?> parameters)
          Renders the template and set the response on the current RequestContext.
 Response.Content ok(Map<String,?> parameters, Locale locale)
          Renders the template.
<A extends Appendable>
A
renderTo(A appendable)
          Renders the template to the specified appendable.
<A extends Appendable>
A
renderTo(A appendable, Locale locale)
          Renders the template to the specified appendable.
<A extends Appendable>
A
renderTo(A appendable, Map<String,?> parameters)
          Renders the template to the specified appendable.
 void renderTo(Stream printer)
          Renders the template to the specified printer.
 void renderTo(Stream printer, Locale locale)
          Renders the template to the specified printer.
 void renderTo(Stream printer, Map<String,?> parameters)
          Renders the template to the specified printer.
 String toString()
           
 Template.Builder with()
          Returns a builder to further customize the template rendering.
 Template.Builder with(Locale locale)
          Returns a builder to further customize the template rendering.
 Template.Builder with(Map<String,?> parameters)
          Returns a builder to further customize the template rendering.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Template

public Template(juzu.impl.plugin.template.TemplatePlugin plugin,
                String path)

Template

public Template(juzu.impl.plugin.template.TemplatePlugin plugin,
                juzu.impl.common.Path path)
Method Detail

getPath

public final juzu.impl.common.Path getPath()
Returns the template path.

Returns:
the temlate path

toString

public final String toString()
Overrides:
toString in class Object

ok

public final Response.Content ok()
Renders the template.

Returns:
the ok resource response

ok

public final Response.Content ok(Locale locale)
Renders the template.

Parameters:
locale - the locale
Returns:
the ok resource response

ok

public final Response.Content ok(Map<String,?> parameters)
Renders the template and set the response on the current RequestContext.

Parameters:
parameters - the parameters
Returns:
the ok resource response

ok

public final Response.Content ok(Map<String,?> parameters,
                                 Locale locale)
Renders the template.

Parameters:
parameters - the parameters
locale - the locale
Returns:
the ok resource response

notFound

public final Response.Content notFound()
Renders the template.

Returns:
the not found resource response

notFound

public final Response.Content notFound(Locale locale)
Renders the template.

Parameters:
locale - the locale
Returns:
the not found resource response

notFound

public final Response.Content notFound(Map<String,?> parameters)
Renders the template.

Parameters:
parameters - the parameters
Returns:
the not found resource response

notFound

public final Response.Content notFound(Map<String,?> parameters,
                                       Locale locale)
Renders the template.

Parameters:
parameters - the parameters
locale - the locale
Returns:
the not found resource response

renderTo

public <A extends Appendable> A renderTo(A appendable)
                              throws TemplateExecutionException,
                                     UndeclaredIOException
Renders the template to the specified appendable.

Parameters:
appendable - the appendable
Throws:
TemplateExecutionException - any execution exception
UndeclaredIOException - any io exception

renderTo

public <A extends Appendable> A renderTo(A appendable,
                                         Locale locale)
                              throws TemplateExecutionException,
                                     UndeclaredIOException
Renders the template to the specified appendable.

Parameters:
appendable - the appendable
locale - the locale
Throws:
TemplateExecutionException - any execution exception
UndeclaredIOException - any io exception

renderTo

public <A extends Appendable> A renderTo(A appendable,
                                         Map<String,?> parameters)
                              throws TemplateExecutionException,
                                     UndeclaredIOException
Renders the template to the specified appendable.

Parameters:
appendable - the appendable
parameters - the attributes
Throws:
TemplateExecutionException - any execution exception
UndeclaredIOException - any io exception

renderTo

public void renderTo(Stream printer)
              throws TemplateExecutionException,
                     UndeclaredIOException
Renders the template to the specified printer.

Parameters:
printer - the printer
Throws:
TemplateExecutionException - any execution exception
UndeclaredIOException - any io exception

renderTo

public void renderTo(Stream printer,
                     Locale locale)
              throws TemplateExecutionException,
                     UndeclaredIOException
Renders the template to the specified printer.

Parameters:
printer - the printer
locale - the locale
Throws:
TemplateExecutionException - any execution exception
UndeclaredIOException - any io exception

renderTo

public void renderTo(Stream printer,
                     Map<String,?> parameters)
              throws TemplateExecutionException,
                     UndeclaredIOException
Renders the template to the specified printer.

Parameters:
printer - the printer
parameters - the attributes
Throws:
TemplateExecutionException - any execution exception
UndeclaredIOException - any io exception

with

public Template.Builder with()
Returns a builder to further customize the template rendering.

Returns:
a new builder instance

with

public Template.Builder with(Map<String,?> parameters)
Returns a builder to further customize the template rendering.

Returns:
a new builder instance

with

public Template.Builder with(Locale locale)
Returns a builder to further customize the template rendering.

Returns:
a new builder instance


Copyright © 2014 eXo Platform SAS. All rights reserved.