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 and Description
    `RenderCommandComponentEventResultProcessor(PageRenderQueue pageRenderQueue, AjaxFormUpdateController ajaxFormUpdateController, AjaxPartialResponseRenderer partialRenderer)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and 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 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

${project.version} - Copyright © 2003-2015 The Apache Software Foundation.