Package org.apache.tapestry5.internal.services

# Class RenderCommandComponentEventResultProcessor

java.lang.Object
org.apache.tapestry5.internal.services.RenderCommandComponentEventResultProcessor

All Implemented Interfaces:
  `ComponentEventResultProcessor<RenderCommand>`, `PartialMarkupRendererFilter`

public class RenderCommandComponentEventResultProcessor extends Object implements ComponentEventResultProcessor<RenderCommand>, PartialMarkupRendererFilter
Processor for objects that implement `RenderCommand` (such as `BlockImpl`), used with an Ajax component event.

See Also:
  - `AjaxPartialResponseRenderer.renderPartialPageMarkup()`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `RenderCommandComponentEventResultProcessor(PageRenderQueue pageRenderQueue, AjaxFormUpdateController ajaxFormUpdateController, AjaxPartialResponseRenderer partialRenderer)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `processResultValue(RenderCommand value)`
  For a given, non-null return value from a component event method, construct and send a response.
  `void`
  `renderMarkup(MarkupWriter writer, JSONObject reply, PartialMarkupRenderer renderer)`
  As a filter, this class does three things: It creates an outer element to capture the partial page content that will be rendered It does setup and cleanup with the `AjaxFormUpdateController` It extracts the child markup and stuffs it into the reply's "content" property.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### RenderCommandComponentEventResultProcessor

    public RenderCommandComponentEventResultProcessor(PageRenderQueue pageRenderQueue, AjaxFormUpdateController ajaxFormUpdateController, AjaxPartialResponseRenderer partialRenderer)

- ## Method Details

  - ### processResultValue

    public void processResultValue(RenderCommand value) throws IOException
    Description copied from interface: `ComponentEventResultProcessor`
    For a given, non-null return value from a component event method, construct and send a response. Starting in release 5.4, it is recommended that for any response that involves Tapestry pages or components, the implementation should create an `IOOperation` to do the rendering, and add the operation to the `Request` as attribute `TapestryConstants.RESPONSE_RENDERER`. This avoids a number of issues related to the `Environment`.
    Specified by:
      `processResultValue` in interface `ComponentEventResultProcessor<RenderCommand>`
    Parameters:
      `value` - the value returned from a method
    Throws:
      `IOException`

  - ### renderMarkup

    public void renderMarkup(MarkupWriter writer, JSONObject reply, PartialMarkupRenderer renderer)
    As a filter, this class does three things:
    - It creates an outer element to capture the partial page content that will be rendered
    - It does setup and cleanup with the `AjaxFormUpdateController`
    - It extracts the child markup and stuffs it into the reply's "content" property.
    Specified by:
      `renderMarkup` in interface `PartialMarkupRendererFilter`
    Parameters:
      `writer` - to which markup should be written
      `reply` - JSONObject which will contain the partial response
      `renderer` - delegate to which the writer should be passed