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.

Template can be rendered with many methods that will affect the current execution. Those methods will implicitly set the produced markup response on the MimeContext using the MimeContext.setResponse(juzu.Response.Content) method: render(), render(java.util.Locale), render(java.util.Map), render(java.util.Map, java.util.Locale), notFound(), notFound(java.util.Locale), notFound(java.util.Map), notFound(java.util.Map, java.util.Locale), ok(), ok(java.util.Locale), ok(java.util.Map), ok(java.util.Map, java.util.Locale).

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

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

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:

template.with().date(new java.util.Date()).render()

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 applicationContext, juzu.impl.common.Path path, Class<? extends juzu.impl.template.spi.TemplateStub> stubType)
           
Template(juzu.impl.plugin.template.TemplatePlugin applicationContext, String path, Class<? extends juzu.impl.template.spi.TemplateStub> stubType)
           
 
Method Summary
 juzu.impl.common.Path getPath()
          Returns the template path.
 Response.Content notFound()
          Renders the template and set a 404 response on the current MimeContext.
 Response.Content notFound(Locale locale)
          Renders the template and set a 404 response on the current MimeContext.
 Response.Content notFound(Map<String,?> parameters)
          Renders the template and set a 404 response on the current MimeContext.
 Response.Content<Stream.Char> notFound(Map<String,?> parameters, Locale locale)
          Renders the template and set a 404 response on the current MimeContext.
 Response.Content ok()
          Renders the template and set the response on the current MimeContext.
 Response.Content ok(Locale locale)
          Renders the template and set the response on the current MimeContext.
 Response.Content ok(Map<String,?> parameters)
          Renders the template and set the response on the current MimeContext.
 Response.Content<Stream.Char> ok(Map<String,?> parameters, Locale locale)
          Renders the template and set the response on the current MimeContext.
 Response.Render render()
          Renders the template and returns a render response.
 Response.Render render(Locale locale)
          Renders the template and set a the response on the current MimeContext.
 Response.Render render(Map<String,?> parameters)
          Renders the template and set a the response on the current MimeContext.
 Response.Render render(Map<String,?> parameters, Locale locale)
          Renders the template and set a the response on the current MimeContext.
<A extends Appendable>
A
renderTo(A appendable)
          Renders the template to the specified appendable, the current MimeContext will not be affected.
<A extends Appendable>
A
renderTo(A appendable, Locale locale)
          Renders the template to the specified appendable, the current MimeContext will not be affected.
<A extends Appendable>
A
renderTo(A appendable, Map<String,?> parameters)
          Renders the template to the specified appendable, the current MimeContext will not be affected.
<A extends Appendable>
A
renderTo(A appendable, Map<String,?> parameters, Locale locale)
          Renders the template to the specified appendable, the current MimeContext will not be affected.
 void renderTo(Stream.Char printer)
          Renders the template to the specified printer, the current MimeContext will not be affected.
 void renderTo(Stream.Char printer, Locale locale)
          Renders the template to the specified printer, the current MimeContext will not be affected.
 void renderTo(Stream.Char printer, Map<String,?> parameters)
          Renders the template to the specified printer, the current MimeContext will not be affected.
 void renderTo(Stream.Char printer, Map<String,?> parameters, Locale locale)
          Renders the template to the specified printer, the current MimeContext will not be affected.
 String toString()
           
abstract  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.
 
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 applicationContext,
                String path,
                Class<? extends juzu.impl.template.spi.TemplateStub> stubType)

Template

public Template(juzu.impl.plugin.template.TemplatePlugin applicationContext,
                juzu.impl.common.Path path,
                Class<? extends juzu.impl.template.spi.TemplateStub> stubType)
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

render

public Response.Render render()
                       throws TemplateExecutionException,
                              UndeclaredIOException
Renders the template and returns a render response.

Returns:
the render response
Throws:
TemplateExecutionException
UndeclaredIOException

render

public Response.Render render(Locale locale)
                       throws TemplateExecutionException,
                              UndeclaredIOException
Renders the template and set a the response on the current MimeContext.

Parameters:
locale - the locale
Returns:
the render response
Throws:
TemplateExecutionException
UndeclaredIOException

render

public Response.Render render(Map<String,?> parameters)
                       throws TemplateExecutionException,
                              UndeclaredIOException
Renders the template and set a the response on the current MimeContext.

Parameters:
parameters - the parameters
Returns:
the render response
Throws:
TemplateExecutionException
UndeclaredIOException

render

public Response.Render render(Map<String,?> parameters,
                              Locale locale)
                       throws TemplateExecutionException,
                              UndeclaredIOException
Renders the template and set a the response on the current MimeContext.

Parameters:
parameters - the parameters
locale - the locale
Returns:
the render response
Throws:
TemplateExecutionException
UndeclaredIOException

ok

public final Response.Content ok()
Renders the template and set the response on the current MimeContext.

Returns:
the ok resource response

ok

public final Response.Content ok(Locale locale)
Renders the template and set the response on the current MimeContext.

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 MimeContext.

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

ok

public final Response.Content<Stream.Char> ok(Map<String,?> parameters,
                                              Locale locale)
Renders the template and set the response on the current MimeContext.

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

notFound

public final Response.Content notFound()
Renders the template and set a 404 response on the current MimeContext.

Returns:
the not found resource response

notFound

public final Response.Content notFound(Locale locale)
Renders the template and set a 404 response on the current MimeContext.

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

notFound

public final Response.Content notFound(Map<String,?> parameters)
Renders the template and set a 404 response on the current MimeContext.

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

notFound

public final Response.Content<Stream.Char> notFound(Map<String,?> parameters,
                                                    Locale locale)
Renders the template and set a 404 response on the current MimeContext.

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, the current MimeContext will not be affected.

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, the current MimeContext will not be affected.

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, the current MimeContext will not be affected.

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

renderTo

public <A extends Appendable> A renderTo(A appendable,
                                         Map<String,?> parameters,
                                         Locale locale)
                              throws TemplateExecutionException,
                                     UndeclaredIOException
Renders the template to the specified appendable, the current MimeContext will not be affected.

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

renderTo

public void renderTo(Stream.Char printer)
              throws TemplateExecutionException,
                     UndeclaredIOException
Renders the template to the specified printer, the current MimeContext will not be affected.

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

renderTo

public void renderTo(Stream.Char printer,
                     Locale locale)
              throws TemplateExecutionException,
                     UndeclaredIOException
Renders the template to the specified printer, the current MimeContext will not be affected.

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

renderTo

public void renderTo(Stream.Char printer,
                     Map<String,?> parameters)
              throws TemplateExecutionException,
                     UndeclaredIOException
Renders the template to the specified printer, the current MimeContext will not be affected.

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

renderTo

public void renderTo(Stream.Char printer,
                     Map<String,?> parameters,
                     Locale locale)
              throws TemplateExecutionException,
                     UndeclaredIOException
Renders the template to the specified printer, the current MimeContext will not be affected.

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

with

public abstract Template.Builder with()
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 © 2013 eXo Platform SAS. All Rights Reserved.