All Downloads are FREE. Search and download functionalities are using the official Maven repository.

javax.faces.event.PostAddToViewEvent Maven / Gradle / Ivy

Go to download

Jakarta Faces defines an MVC framework for building user interfaces for web applications, including UI components, state management, event handing, input validation, page navigation, and support for internationalization and accessibility.

There is a newer version: 4.1.0
Show newest version
/*
 * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License v. 2.0, which is available at
 * http://www.eclipse.org/legal/epl-2.0.
 *
 * This Source Code may also be made available under the following Secondary
 * Licenses when the conditions for such availability set forth in the
 * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
 * version 2 with the GNU Classpath Exception, which is available at
 * https://www.gnu.org/software/classpath/license.html.
 *
 * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
 */

package javax.faces.event;

import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;

/**
 *
 * 

When an instance of this event is * passed to {@link SystemEventListener#processEvent} or {@link * ComponentSystemEventListener#processEvent}, the listener * implementation may assume that the source of this event * instance is a {@link 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 {@link * UIComponent#getParent}, {@link UIComponent#getClientId}, and other * methods that depend upon the component instance being added into the * view.

* *
* *

The implementation must guarantee that {@link * javax.faces.application.Application#publishEvent} is called, * immediately after any UIComponent instance is added to * the view hierarchy except in the case where {@link * javax.faces.render.ResponseStateManager#isPostback} returns * true at the same time as {@link * javax.faces.context.FacesContext#getCurrentPhaseId} returns {@link * javax.faces.event.PhaseId#RESTORE_VIEW}. When both of those * conditions are met, {@link * javax.faces.application.Application#publishEvent} must not be called.

* *
*
*

The implementation must guarantee that {@link * javax.faces.application.Application#publishEvent} 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 */ public class PostAddToViewEvent extends ComponentSystemEvent { private static final long serialVersionUID = -1113592223476173895L; // ------------------------------------------------------------ Constructors /** *

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

* @param component the UIComponent that has just been * added to the view. * * @throws IllegalArgumentException if the argument is null. */ public PostAddToViewEvent(UIComponent component) { super(component); } /** *

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

* * @param facesContext the Faces context. * @param component the UIComponent that has just been * added to the view. * @throws IllegalArgumentException if the argument is null. */ public PostAddToViewEvent(FacesContext facesContext, UIComponent component) { super(facesContext, component); } // --------------------------------------- Methods from ComponentSystemEvent /** *

Returns true if and * only if the argument listener is an instance of * {@link SystemEventListener}.

* * @param listener the faces listener. * @return true if it is an appropriate listener, false otherwise. */ @Override public boolean isAppropriateListener(FacesListener listener) { return (listener instanceof SystemEventListener); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy