Package org.apache.tapestry5.services.ajax

# Interface AjaxResponseRenderer

All Known Implementing Classes:
  `AjaxResponseRendererImpl`

public interface AjaxResponseRenderer
Manages the rendering of a partial page render as part of an Ajax response. This replaces the `MultiZoneUpdate` introduced in Tapestry 5.1. Much of the API is used to queue behaviors that take effect when partial markup rendering takes place. The implementation of this class provides `PartialMarkupRendererFilter` to the `PageRenderQueue`.

Since:
  5.3

- ## Method Summary

  Modifier and Type
  Method
  Description
  `AjaxResponseRenderer`
  `addCallback(Runnable callback)`
  Queues a callback to execute during the partial markup render.
  `AjaxResponseRenderer`
  `addCallback(JavaScriptCallback callback)`
  Queues a callback to execute during the partial markup render.
  `AjaxResponseRenderer`
  `addCallback(JSONCallback callback)`
  Queues a callback to execute during the partial markup render.
  `AjaxResponseRenderer`
  `addFilter(PartialMarkupRendererFilter filter)`
  Adds a rendering filter.
  `AjaxResponseRenderer`
  `addRender(String clientId, Object renderer)`
  Queues the renderer to render markup for the client-side element with the provided id.
  `AjaxResponseRenderer`
  `addRender(ClientBodyElement zone)`
  Queues an update to the zone, using the zone's body as the new content.
  `void`
  `setupPartial(String pageName)`
  Initializes partial response rendering by identifying the page "responsible" for the response.

- ## Method Details

  - ### addRender

    AjaxResponseRenderer addRender(String clientId, Object renderer)
    Queues the renderer to render markup for the client-side element with the provided id.
    Parameters:
      `clientId` - client id of zone to update with the content from the renderer
      `renderer` - a `Block`, `Component` or other object that can be coerced to `RenderCommand`.
    Returns:
      the renderer, for a fluid interface

  - ### addRender

    AjaxResponseRenderer addRender(ClientBodyElement zone)
    Queues an update to the zone, using the zone's body as the new content.
    Parameters:
      `zone` - the element that contains both a client id and a body (this is primarily used to represent a `Zone` component).
    Returns:
      this renderer, for a fluid interface

  - ### addCallback

    AjaxResponseRenderer addCallback(JavaScriptCallback callback)
    Queues a callback to execute during the partial markup render. The callback is added as a filter; the callback is invoked before the rest of the rendering pipeline is invoked.
    Parameters:
      `callback` - object to be invoked
    Returns:
      this renderer, for a fluid interface

  - ### addCallback

    AjaxResponseRenderer addCallback(Runnable callback)
    Queues a callback to execute during the partial markup render. . The callback is added as a filter; the callback is invoked before the rest of the rendering pipeline is invoked.
    Parameters:
      `callback` - object to be invoked
    Returns:
      this renderer, for a fluid interface

  - ### addFilter

    AjaxResponseRenderer addFilter(PartialMarkupRendererFilter filter)
    Adds a rendering filter. Dynamically added filters are only in place during the handling of the current request, and come after any filters contributed to the `PartialMarkupRenderer` service.
    Returns:
      this renderer, for a fluid interface

  - ### addCallback

    AjaxResponseRenderer addCallback(JSONCallback callback)
    Queues a callback to execute during the partial markup render. The callback is added as a filter; the callback is invoked before the rest of the rendering pipeline is invoked.
    Parameters:
      `callback` - object o be invoked
    Returns:
      this renderer, for a fluid interface

  - ### setupPartial

    void setupPartial(String pageName)
    Initializes partial response rendering by identifying the page "responsible" for the response. This is mostly used for selecting the character set for the response.
    Parameters:
      `pageName` - identifies page to render
    Since:
      5.4