public class PostAddToViewEvent extends ComponentSystemEvent
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()
, where comp
is a UIComponent
.
Constructor and Description |
---|
PostAddToViewEvent(FacesContext facesContext,
UIComponent component)
Instantiate a new |
PostAddToViewEvent(UIComponent component)
Instantiate a new |
Modifier and Type | Method and Description |
---|---|
boolean |
isAppropriateListener(FacesListener listener)
Returns |
getComponent, processListener
getFacesContext
public PostAddToViewEvent(UIComponent component)
Instantiate a new PostAddToViewEvent
that indicates the argument component
was just added
to the view.
component
- the UIComponent
that has just been added to the view.java.lang.IllegalArgumentException
- if the argument is null
.public PostAddToViewEvent(FacesContext facesContext, UIComponent component)
Instantiate a new PostAddToViewEvent
that indicates the argument component
was just added
to the view.
facesContext
- the Faces context.component
- the UIComponent
that has just been added to the view.java.lang.IllegalArgumentException
- if the argument is null
.public boolean isAppropriateListener(FacesListener listener)
Returns true
if and only if the argument listener
is an instance of
SystemEventListener
.
isAppropriateListener
in class ComponentSystemEvent
listener
- the faces listener.