org.richfaces.context

## Class AjaxOutputTracker

- java.lang.Object
- - org.richfaces.context.AjaxOutputTracker

- All Implemented Interfaces:
    EventListener, javax.faces.event.FacesListener, javax.faces.event.SystemEventListener

      public class AjaxOutputTracker
      extends Object
      implements javax.faces.event.SystemEventListener

  Tracker that tracks all `AjaxOutput` components in the component tree and that can retrieve tracked `AjaxOutput`s in O(n) where "n" is depth of the tree. The O(n) is ensured by tracking nested `AjaxOutput` in each `NamingContainer` component on a way from the `UIViewRoot` to the given component.
  Author:
    Nick Belaevski

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `AjaxOutputTracker()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `isListenerForSource(Object source)` Tracks just `AjaxOutput` components
    `void` | `processEvent(javax.faces.event.SystemEvent event)` Tracks additions (resp.

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

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

- - ### Constructor Detail

    - #### AjaxOutputTracker

          public AjaxOutputTracker()

  - ### Method Detail

    - #### processEvent

          public void processEvent(javax.faces.event.SystemEvent event)
                            throws javax.faces.event.AbortProcessingException

      Tracks additions (resp. removals) of `AjaxOutput` to (resp. from) a component tree on `PostAddToViewEvent` (resp. `PreRemoveFromViewEvent`)
      Specified by:
        `processEvent` in interface `javax.faces.event.SystemEventListener`
      Throws:
        `javax.faces.event.AbortProcessingException`

    - #### isListenerForSource

          public boolean isListenerForSource(Object source)

      Tracks just `AjaxOutput` components
      Specified by:
        `isListenerForSource` in interface `javax.faces.event.SystemEventListener`

Copyright © 2016 JBoss by Red Hat. All Rights Reserved.