javax.faces.event

## Class PostAddToViewEvent

- java.lang.Object
- - java.util.EventObject
  - - javax.faces.event.SystemEvent
    - - javax.faces.event.ComponentSystemEvent
      - - javax.faces.event.PostAddToViewEvent

- All Implemented Interfaces:
    Serializable

      public class PostAddToViewEvent
      extends ComponentSystemEvent

  When an instance of this event is passed to `SystemEventListener.processEvent(javax.faces.event.SystemEvent)` or `ComponentSystemEventListener.processEvent(javax.faces.event.ComponentSystemEvent)`, the listener implementation may assume that the `source` of this event instance is a `UIComponent` instance and that either that instance or an ancestor of that instance was just added to the view. Therefore, the implementation may assume it is safe to call `UIComponent.getParent()`, `UIComponent.getClientId()`, and other methods that depend upon the component instance being added into the view.

  The implementation must guarantee that `Application.publishEvent(javax.faces.context.FacesContext, java.lang.Class<? extends javax.faces.event.SystemEvent>, java.lang.Object)` is called, immediately after any `UIComponent` instance is added to the view hierarchy except in the case where `ResponseStateManager.isPostback(javax.faces.context.FacesContext)` returns `true` at the same time as `FacesContext.getCurrentPhaseId()` returns `PhaseId.RESTORE_VIEW`. When both of those conditions are met, `Application.publishEvent(javax.faces.context.FacesContext, java.lang.Class<? extends javax.faces.event.SystemEvent>, java.lang.Object)` must not be called.

  The implementation must guarantee that `Application.publishEvent(javax.faces.context.FacesContext, java.lang.Class<? extends javax.faces.event.SystemEvent>, java.lang.Object)` is called in the following cases.

  - Upon the initial construction of the view, when each instance is added to the view.

  - On a non-initial rendering of the view, if a component is added to the view by the View Declaration Language implememtation as a result of changes in evaluation result of EL expressions referenced by VDL tags such as `c:if`, `ui:include`, and other tags that dynamically influence the assembly of the view.

  - If a component is programmatically added to the view using the Java API directly. For example, user code manually adds children using `comp.getChildren().add()`, where `comp` is a `UIComponent`.

  Since:
    2.0
  See Also:
    Serialized Form

- - ### Field Summary

    - ### Fields inherited from class java.util.EventObject

      `source`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `PostAddToViewEvent(UIComponent component)` Instantiate a new `PostAddToViewEvent` that indicates the argument `component` was just added to the view.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `isAppropriateListener(FacesListener listener)` Returns `true` if and only if the argument `listener` is an instance of `SystemEventListener`.

    - ### Methods inherited from class javax.faces.event.ComponentSystemEvent

      `getComponent, processListener`

    - ### Methods inherited from class java.util.EventObject

      `getSource, toString`

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

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

- - ### Constructor Detail

    - #### PostAddToViewEvent

          public PostAddToViewEvent(UIComponent component)

      Instantiate a new `PostAddToViewEvent` that indicates the argument `component` was just added to the view.

      Parameters:
        `component` - the `UIComponent` that has just been added to the view.
      Throws:
        ``IllegalArgumentException`` - if the argument is `null`.

  - ### Method Detail

    - #### isAppropriateListener

          public boolean isAppropriateListener(FacesListener listener)

      Returns `true` if and only if the argument `listener` is an instance of `SystemEventListener`.

      Overrides:
        `isAppropriateListener` in class `ComponentSystemEvent`
      Parameters:
        `listener` -

Copyright © 1996-2013, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.