Package org.jdesktop.application

# Class ApplicationActionMap

java.lang.Object
javax.swing.ActionMap
org.jdesktop.application.ApplicationActionMap

All Implemented Interfaces:
  `Serializable`

public class ApplicationActionMap extends ActionMap
An `ActionMap` class where each entry corresponds to an `@Action` method from a single `actionsClass` (i.e. a class that contains one or more `@Actions`). Each entry's key is the `@Action's` name (the method name by default), and the value is an `ApplicationAction` that calls the `@Actions` method. For example, the code below prints `"Hello World"`:

     public class HelloWorldActions {
         public @Action void Hello() { System.out.print("Hello "); }
         public @Action void World() { System.out.println("World"); }
     }
     // ...
     ApplicationActionMap appAM = new ApplicationActionMap(SimpleActions.class);
     ActionEvent e = new ActionEvent("no src", ActionEvent.ACTION_PERFORMED, "no cmd");
     appAM.get("Hello").actionPerformed(e);
     appAM.get("World").actionPerformed(e);

If a `ResourceMap` is provided then each `ApplicationAction's` (`putValue`, `getValue`) properties are initialized from the ResourceMap.

Author:
  Hans Muller (Hans.Muller@Sun.COM)
See Also:
  - `ApplicationAction`
  - `ResourceMap`
  - Serialized Form

## Constructor Summary

Constructors
Constructor
Description
`ApplicationActionMap(ApplicationContext context, Class actionsClass, Object actionsObject, ResourceMap resourceMap)`
Creates `ApplicationActionMap` object.

## Method Summary

Modifier and Type
Method
Description
`final Class`
`getActionsClass()`
Returns the base class for actions retrieval
`final Object`
`getActionsObject()`
Returns the object with actions
`final ApplicationContext`
`getContext()`
Returns the `ApplicationContext`
`List<ApplicationAction>`
`getProxyActions()`
All of the `@ProxyActions` recursively defined by this `ApplicationActionMap` and its parent ancestors.

### Methods inherited from class javax.swing.ActionMap

`allKeys, clear, get, getParent, keys, put, remove, setParent, size`

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

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

## Constructor Details

### ApplicationActionMap

public ApplicationActionMap(ApplicationContext context, Class actionsClass, Object actionsObject, ResourceMap resourceMap)
Creates `ApplicationActionMap` object.

The created action map will contain actions which are defined in the `actionsObject` and all its ancestors up to the `actionsClass`. If `actionsClass` is a type of the `actionsObject` then actions only from this class will be added to the map.

Parameters:
  `context` - the Application context
  `actionsClass` - a super class for the `actionsObject`. Actions will be retrieved starting from this class.
  `actionsObject` - the object to be scanned for the actions.
  `resourceMap` - the `ResourceMap` to be used for those actions

## Method Details

### getContext

public final ApplicationContext getContext()
Returns the `ApplicationContext`

Returns:
  the `ApplicationContext`

### getActionsClass

public final Class getActionsClass()
Returns the base class for actions retrieval

Returns:
  the base class for actions retrieval

### getActionsObject

public final Object getActionsObject()
Returns the object with actions

Returns:
  the object with actions

### getProxyActions

public List<ApplicationAction> getProxyActions()
All of the `@ProxyActions` recursively defined by this `ApplicationActionMap` and its parent ancestors.

Returns a read-only list of the `@ProxyActions` defined by this `ApplicationActionMap's` `actionClass` and, recursively, by this `ApplicationActionMap's` parent. If there are no proxyActions, an empty list is returned.

Returns:
  a list of all the proxyActions for this `ApplicationActionMap`