org.apache.jmeter.gui.action

## Class ActionRouter

- java.lang.Object
- - org.apache.jmeter.gui.action.ActionRouter

All Implemented Interfaces:
  ActionListener, EventListener

    public final class ActionRouter
    extends Object
    implements ActionListener

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`void` `actionPerformed(ActionEvent e)`
`void` `addPostActionListener(Class<?> action, ActionListener listener)` Allows an ActionListener to receive notification of a command being executed after the command has executed.
`void` `addPreActionListener(Class<?> action, ActionListener listener)` Allows an ActionListener to receive notification of a command being executed prior to the actual execution of the command.
`void` `doActionNow(ActionEvent e)` To execute an action immediately in the current thread.
`Set<Command>` `getAction(String actionName)` Get the set of `Command`s registered under the name `actionName`
`Command` `getAction(String actionName, Class<?> actionClass)` Get the `Command` registered under the name `actionName`, that is of `Class` `actionClass`
`Command` `getAction(String actionName, String className)` Get the `Command` registered under the name `actionName` , which class names are equal to `className`
`static ActionRouter` `getInstance()` Gets the Instance attribute of the ActionRouter class
`void` `populateCommandMap()` Only for use by the JMeter.startGui.
`void` `removePostActionListener(Class<?> action, ActionListener listener)` Allows an ActionListener to be removed from receiving notifications of a command being executed after the command has executed.
`void` `removePreActionListener(Class<?> action, ActionListener listener)` Allows an ActionListener to be removed from receiving notifications of a command being executed prior to the actual execution of the command.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Method Detail

#### actionPerformed

    public void actionPerformed(ActionEvent e)

Specified by:
  `actionPerformed` in interface `ActionListener`

#### doActionNow

    public void doActionNow(ActionEvent e)

To execute an action immediately in the current thread.

Parameters:
  `e` - the action to execute

#### getAction

    public Set<Command> getAction(String actionName)

Get the set of `Command`s registered under the name `actionName`

Parameters:
  `actionName` - The name the `Command`s were registered
Returns:
  a set with all registered `Command`s for `actionName`

#### getAction

    public Command getAction(String actionName,
                             Class<?> actionClass)

Get the `Command` registered under the name `actionName`, that is of `Class` `actionClass`

Parameters:
  `actionName` - The name the `Command`s were registered
  `actionClass` - The class the `Command`s should be equal to
Returns:
  The registered `Command` for `actionName`, or `null` if none could be found

#### getAction

    public Command getAction(String actionName,
                             String className)

Get the `Command` registered under the name `actionName` , which class names are equal to `className`

Parameters:
  `actionName` - The name the `Command`s were registered
  `className` - The name of the class the `Command`s should be equal to
Returns:
  The `Command` for `actionName` or `null` if none could be found

#### addPreActionListener

    public void addPreActionListener(Class<?> action,
                                     ActionListener listener)

Allows an ActionListener to receive notification of a command being executed prior to the actual execution of the command.

Parameters:
  `action` - the Class of the command for which the listener will notifications for. Class must extend org.apache.jmeter.gui.action.Command.
  `listener` - the ActionListener to receive the notifications

#### removePreActionListener

    public void removePreActionListener(Class<?> action,
                                        ActionListener listener)

Allows an ActionListener to be removed from receiving notifications of a command being executed prior to the actual execution of the command.

Parameters:
  `action` - the Class of the command for which the listener will notifications for. Class must extend org.apache.jmeter.gui.action.Command.
  `listener` - the ActionListener to receive the notifications

#### addPostActionListener

    public void addPostActionListener(Class<?> action,
                                      ActionListener listener)

Allows an ActionListener to receive notification of a command being executed after the command has executed.

Parameters:
  `action` - the Class of the command for which the listener will notifications for. Class must extend org.apache.jmeter.gui.action.Command.
  `listener` - The `ActionListener` to be registered

#### removePostActionListener

    public void removePostActionListener(Class<?> action,
                                         ActionListener listener)

Allows an ActionListener to be removed from receiving notifications of a command being executed after the command has executed.

Parameters:
  `action` - the Class of the command for which the listener will notifications for. Class must extend org.apache.jmeter.gui.action.Command.
  `listener` - The `ActionListener` that should be deregistered

#### populateCommandMap

    public void populateCommandMap()

Only for use by the JMeter.startGui. This method must not be called by getInstance() as was done previously. See Bug 58790

#### getInstance

    public static ActionRouter getInstance()

Gets the Instance attribute of the ActionRouter class

Returns:
  The Instance value