org.apache.tapestry5.services

## Interface ComponentEventResultProcessor<T>

- Type Parameters:
    `T` -
  All Known Implementing Classes:
    AjaxComponentInstanceEventResultProcessor, AjaxLinkComponentEventResultProcessor, AjaxPageClassComponentEventResultProcessor, AjaxPageNameComponentEventResultProcessor, AjaxURLComponentEventResultProcessor, ClassResultProcessor, ComponentInstanceResultProcessor, HttpErrorComponentEventResultProcessor, JSONArrayEventResultProcessor, JSONObjectEventResultProcessor, MultiZoneUpdateEventResultProcessor, ObjectComponentEventResultProcessor, PageNameComponentEventResultProcessor, RenderCommandComponentEventResultProcessor, StreamPageContentResultProcessor, StreamResponseResultProcessor

      @UsesMappedConfiguration(key=java.lang.Class.class,
                               value=ComponentEventResultProcessor.class)
      public interface ComponentEventResultProcessor<T>

  Responsible for handling the return value provided by a component event handler method.

  There are two services built into Tapestry that implement this interface: ComponentEventResultProcessor (used for ordinary page-oriented requests, and distinguished by the @`Traditional` and/or @`Primary` marker annotations) and AjaxComponentEventResultProcessor, used for Ajax requests (which typically return a partially rendered page), distinguished by the @`Ajax` marker annotation.

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `processResultValue(T value)` For a given, non-null return value from a component event method, construct and send a response.

- - ### Method Detail

    - #### processResultValue

          void processResultValue(T value)
                                  throws IOException

      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`.
      Parameters:
        `value` - the value returned from a method
      Throws:
        `RuntimeException` - if the value can not handled
        `IOException`

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