juzu.template

## Class Template

- java.lang.Object
- - 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.notFound()`
  - `template.status(code)`

  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

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `class` | `Template.Builder` A builder providing a fluent syntax for rendering a template.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Template(juzu.impl.plugin.template.TemplatePlugin plugin, juzu.impl.common.Path path)`
    `Template(juzu.impl.plugin.template.TemplatePlugin plugin, String path)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `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.