javax.faces.event
Class MethodExpressionActionListener

java.lang.Object
  extended by javax.faces.event.MethodExpressionActionListener
All Implemented Interfaces:
EventListener, StateHolder, ActionListener, FacesListener

public class MethodExpressionActionListener
extends Object
implements ActionListener, StateHolder

MethodExpressionActionListener is an ActionListener that wraps a MethodExpression. When it receives a ActionEvent, it executes a method on an object identified by the MethodExpression.


Constructor Summary
MethodExpressionActionListener()
           
MethodExpressionActionListener(javax.el.MethodExpression methodExpressionOneArg)
          Construct a ValueChangeListener that contains a MethodExpression.
MethodExpressionActionListener(javax.el.MethodExpression methodExpressionOneArg, javax.el.MethodExpression methodExpressionZeroArg)
           
 
Method Summary
 boolean isTransient()
          If true, the Object implementing this interface must not participate in state saving or restoring.
 void processAction(ActionEvent actionEvent)
          Call through to the MethodExpression passed in our constructor.
 void restoreState(FacesContext context, Object state)
          

Both MethodExpression instances described in the constructor must be restored.

 Object saveState(FacesContext context)
          

Both MethodExpression instances described in the constructor must be saved.

 void setTransient(boolean newTransientValue)
          Denotes whether or not the Object implementing this interface must or must not participate in state saving or restoring.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MethodExpressionActionListener

public MethodExpressionActionListener()

MethodExpressionActionListener

public MethodExpressionActionListener(javax.el.MethodExpression methodExpressionOneArg)

Construct a ValueChangeListener that contains a MethodExpression. To accomodate method expression targets that take no arguments instead of taking an ActionEvent argument, the implementation of this class must take the argument methodExpressionOneArg, extract its expression string, and create another MethodExpression whose expected param types match those of a zero argument method. The usage requirements for both of these MethodExpression instances are described in processAction(javax.faces.event.ActionEvent).

Parameters:
methodExpressionOneArg - a MethodExpression that points to a method that returns void and takes a single argument of type ActionEvent.

MethodExpressionActionListener

public MethodExpressionActionListener(javax.el.MethodExpression methodExpressionOneArg,
                                      javax.el.MethodExpression methodExpressionZeroArg)
Method Detail

processAction

public void processAction(ActionEvent actionEvent)
                   throws AbortProcessingException

Call through to the MethodExpression passed in our constructor. First, try to invoke the MethodExpression passed to the constructor of this instance, passing the argument ActionEvent as the argument. If a MethodNotFoundException is thrown, call to the zero argument MethodExpression derived from the MethodExpression passed to the constructor of this instance. If that fails for any reason, throw an AbortProcessingException, including the cause of the failure.

Specified by:
processAction in interface ActionListener
Parameters:
actionEvent - The ActionEvent that has occurred
Throws:
NullPointerException
AbortProcessingException - Signal the JavaServer Faces implementation that no further processing on the current event should be performed

saveState

public Object saveState(FacesContext context)

Both MethodExpression instances described in the constructor must be saved.

Specified by:
saveState in interface StateHolder

restoreState

public void restoreState(FacesContext context,
                         Object state)

Both MethodExpression instances described in the constructor must be restored.

Specified by:
restoreState in interface StateHolder

isTransient

public boolean isTransient()
Description copied from interface: StateHolder

If true, the Object implementing this interface must not participate in state saving or restoring.

Specified by:
isTransient in interface StateHolder

setTransient

public void setTransient(boolean newTransientValue)
Description copied from interface: StateHolder

Denotes whether or not the Object implementing this interface must or must not participate in state saving or restoring.

Specified by:
setTransient in interface StateHolder
Parameters:
newTransientValue - boolean pass true if this Object will participate in state saving or restoring, otherwise pass false.


Copyright 2002-2009 Sun Microsystems, Inc. All Rights Reserved.