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

javax.faces.component.ActionSource 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.component;

import javax.faces.el.MethodBinding;
import javax.faces.event.ActionEvent;
import javax.faces.event.ActionListener;

/**
 * 

* ActionSource is an interface that may be implemented by any concrete * {@link UIComponent} that wishes to be a source of {@link ActionEvent}s, including the ability to * invoke application actions via the default {@link ActionListener} mechanism. *

*/ public interface ActionSource { // -------------------------------------------------------------- Properties /** *

* Return a flag indicating that the default {@link ActionListener} provided by the JavaServer * Faces implementation should be executed immediately (that is, during Apply Request * Values phase of the request processing lifecycle), rather than waiting until the * Invoke Application phase. The default value for this property must be * false. *

* * @return true if immediate, false otherwise. */ public boolean isImmediate(); /** *

* Set the "immediate execution" flag for this {@link UIComponent}. *

* * @param immediate The new immediate execution flag */ public void setImmediate(boolean immediate); // -------------------------------------------------- Event Listener Methods /** *

* Add a new {@link ActionListener} to the set of listeners interested in being notified when * {@link ActionEvent}s occur. *

* * @param listener The {@link ActionListener} to be added * * @throws NullPointerException if listener is null */ public void addActionListener(ActionListener listener); /** *

* Return the set of registered {@link ActionListener}s for this {@link ActionSource} instance. * If there are no registered listeners, a zero-length array is returned. *

* * @return the action listeners, or a zero-length array. */ public abstract ActionListener[] getActionListeners(); /** *

* Remove an existing {@link ActionListener} (if any) from the set of listeners interested in * being notified when {@link ActionEvent}s occur. *

* * @param listener The {@link ActionListener} to be removed * * @throws NullPointerException if listener is null */ public void removeActionListener(ActionListener listener); // -------------------------------------------------------------- Deprecated methods /** *

* If the implementing class also implements {@link ActionSource2}, the implementation of this * method must call through to {@link ActionSource2#getActionExpression} and examine the result. * If the result came from a previous call to {@link #setAction}, extract the * MethodBinding from it and return it. Otherwise, wrap the returned * {@link javax.el.MethodExpression} in a MethodBinding implementation, and return * it. *

* *

* If the implementing class does not implement ActionSource2, return the * {@link MethodBinding}pointing at the application action to be invoked, if this * {@link UIComponent} is activated by the user, during the Apply Request Values or * Invoke Application phase of the request processing lifecycle, depending on the value * of the immediate property. *

* * @deprecated This has been replaced by {@link ActionSource2#getActionExpression}. * * @return the action. */ public MethodBinding getAction(); /** *

* If the implementing class also implements {@link ActionSource2}, the implementation of this * method must wrap the argument action in a class that implements * {@link javax.el.MethodExpression} and call through to * {@link ActionSource2#setActionExpression}, passing the wrapped action. *

* *

* If the implementing class does not implement ActionSource2, set the * {@link MethodBinding} pointing at the appication action to be invoked, if this * {@link UIComponent} is activated by the user, during the Apply Request Values or * Invoke Application phase of the request processing lifecycle, depending on the value * of the immediate property. *

* *

* Any method referenced by such an expression must be public, with a return type of * String, and accept no parameters. *

* * @param action The new MethodBinding expression * * @deprecated This has been replaced by * {@link ActionSource2#setActionExpression(javax.el.MethodExpression)}. */ public void setAction(MethodBinding action); /** *

* If {@link #setActionListener} was not previously called for this instance, this method must * return null. If it was called, this method must return the exact * MethodBinding instance that was passed to {@link #setActionListener}. *

* *

* The method to be invoked, if this {@link UIComponent} is activated by the user, will be * called during the Apply Request Values or Invoke Application phase of the * request processing lifecycle, depending upon the value of the immediate * property. *

* * @return the action listener. * @deprecated Use {@link #getActionListeners} instead. */ public MethodBinding getActionListener(); /** *

* Wrap the argument actionListener in an implementation of {@link ActionListener} * and store it in the internal data structure that backs the {@link #getActionListeners} * method, taking care to over-write any instance that was stored by a previous call to * setActionListener. *

* *

* Any method referenced by such an expression must be public, with a return type of * void, and accept a single parameter of type ActionEvent. *

* * @param actionListener The new method binding expression * * @deprecated This has been replaced by * {@link #addActionListener(javax.faces.event.ActionListener)}. */ public void setActionListener(MethodBinding actionListener); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy