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

  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 Details

  - ### 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`.