Package 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

Modifier and Type
Method
Description
`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 Details

### 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