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

jakarta.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, 2020 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 jakarta.faces.event;

import jakarta.faces.component.UIComponent;
import jakarta.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 jakarta.faces.application.Application#publishEvent} is called, * immediately after any UIComponent instance is added to the view hierarchy except in the * case where {@link jakarta.faces.render.ResponseStateManager#isPostback} returns true at the same * time as {@link jakarta.faces.context.FacesContext#getCurrentPhaseId} returns * {@link jakarta.faces.event.PhaseId#RESTORE_VIEW}. When both of those conditions are met, * {@link jakarta.faces.application.Application#publishEvent} must not be called. *

* *
* *
* *

* The implementation must guarantee that {@link jakarta.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 * 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. *

    *
  • * *
* * *
* * @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