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
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.