Class PostAddToViewEvent
- All Implemented Interfaces:
Serializable
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()
, wherecomp
is aUIComponent
.
- Since:
- 2.0
- See Also:
-
Field Summary
Fields inherited from class java.util.EventObject
source
-
Constructor Summary
ConstructorDescriptionPostAddToViewEvent
(UIComponent component) Instantiate a newPostAddToViewEvent
that indicates the argumentcomponent
was just added to the view.PostAddToViewEvent
(FacesContext facesContext, UIComponent component) Instantiate a newPostAddToViewEvent
that indicates the argumentcomponent
was just added to the view. -
Method Summary
Methods inherited from class javax.faces.event.ComponentSystemEvent
getComponent, processListener
Methods inherited from class javax.faces.event.SystemEvent
getFacesContext
Methods inherited from class java.util.EventObject
getSource, toString
-
Constructor Details
-
PostAddToViewEvent
Instantiate a new
PostAddToViewEvent
that indicates the argumentcomponent
was just added to the view.- Parameters:
component
- theUIComponent
that has just been added to the view.- Throws:
IllegalArgumentException
- if the argument isnull
.
-
PostAddToViewEvent
Instantiate a new
PostAddToViewEvent
that indicates the argumentcomponent
was just added to the view.- Parameters:
facesContext
- the Faces context.component
- theUIComponent
that has just been added to the view.- Throws:
IllegalArgumentException
- if the argument isnull
.
-
-
Method Details
-
isAppropriateListener
Returns
true
if and only if the argumentlistener
is an instance ofSystemEventListener
.- Overrides:
isAppropriateListener
in classComponentSystemEvent
- Parameters:
listener
- the faces listener.- Returns:
- true if it is an appropriate listener, false otherwise.
-