Package org.apache.tapestry5.services

## Interface PartialTemplateRenderer

- All Known Implementing Classes:
    `PartialTemplateRendererImpl`

      public interface PartialTemplateRenderer

  Service that provides methods that render `Block`s (`<t:block>` in the template), component instances and `RenderCommand`s to a `String` or `org.apache.tapestry5.dom.Document` in a programatic way. This service was created for situations in which a page or component needs to generate some markup that wouldn't be rendered normally, but for external use, such as e-mails, returning HTML for AJAX requests or passing HTML instead of plain string for an `Alert`. The name of this interface comes from TAP5-938: Expose ability to render a portion of a page (a Block, Component, etc.) without using internal services.
  Since:
    5.4

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `String` | `render​(Object object)` | Renders an object, probably a `Block` or component instance, to a string.
    `Document` | `renderAsDocument​(Object object)` | Renders an object to a `Document` following the same rules as `render(Object)` This method supposes any kind of initialization needed was already done.

- - ### Method Detail

    - #### render

          String render​(Object object)

      Renders an object, probably a `Block` or component instance, to a string. This method supposes any kind of initialization needed was already done. CSS and JavaScript inclusions or importings are ignored. The object must implement `RenderCommand` or being able to be coerced to it by `TypeCoercer`.
      Parameters:
        `object` - an object, probably a `Block` or component instance or `RenderCommand`.
      Throws:
        `IllegalArgumentException` - if the object isn't a `RenderCommand` and cannot be coerced to it by `TypeCoercer`.

    - #### renderAsDocument

          Document renderAsDocument​(Object object)

      Renders an object to a `Document` following the same rules as `render(Object)` This method supposes any kind of initialization needed was already done. CSS and JavaScript inclusions or importings are ignored.
      Parameters:
        `object` - to render, a `RenderCommand`, or coercible to one
      Returns:
        a `Document`.