- All Implemented Interfaces:
Serializable
When an instance of this event is passed to
SystemEventListener.processEvent(jakarta.faces.event.SystemEvent)
or ComponentSystemEventListener.processEvent(jakarta.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(jakarta.faces.context.FacesContext, java.lang.Class<? extends jakarta.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(jakarta.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(jakarta.faces.context.FacesContext, java.lang.Class<? extends jakarta.faces.event.SystemEvent>, java.lang.Object)
must not be called.
The implementation must guarantee that Application.publishEvent(jakarta.faces.context.FacesContext, java.lang.Class<? extends jakarta.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 implementation as a result of changes in evaluation result of Jakarta Expression Language 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 jakarta.faces.event.ComponentSystemEvent
getComponent, processListener
Methods inherited from class jakarta.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.
-