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 java.lang.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

    All Methods Instance Methods Concrete Methods
    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 Detail

    - #### RenderCommandComponentEventResultProcessor

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

  - ### Method Detail

    - #### processResultValue

          public void processResultValue​(RenderCommand value)
                                  throws java.io.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:
        `java.io.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