Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| org.openide.nodes 6.7.22
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.openide.util.actions
Class CookieAction

    java.lang.Object
      org.openide.util.SharedClassObject
          org.openide.util.actions.SystemAction
              org.openide.util.actions.CallableSystemAction
                  org.openide.util.actions.NodeAction
                      org.openide.util.actions.CookieAction

All Implemented Interfaces:
  ActionListener, Externalizable, Serializable, EventListener, Action, Presenter, Presenter.Menu, Presenter.Popup, Presenter.Toolbar, ContextAwareAction, HelpCtx.Provider

    public abstract class CookieAction

extends NodeAction

An action dependent on the cookies of the selected nodes.

See Also:
  Serialized Form

Nested Class Summary

Nested classes/interfaces inherited from interface org.openide.util.actions.Presenter
`Presenter.Menu, Presenter.Popup, Presenter.Toolbar`

Nested classes/interfaces inherited from interface org.openide.util.actions.Presenter
`Presenter.Menu, Presenter.Popup, Presenter.Toolbar`

Nested classes/interfaces inherited from interface org.openide.util.actions.Presenter
`Presenter.Menu, Presenter.Popup, Presenter.Toolbar`

Field Summary
`static int` | `MODE_ALL` Action will be enabled if there are one or more selected nodes and all of them support the given cookies.
`static int` | `MODE_ANY` Action will be enabled if there are one or more selected nodes and any of them (one, all, or some) support the given cookies.
`static int` | `MODE_EXACTLY_ONE` Action will be enabled if there is exactly one selected node and it supports the given cookies.
`static int` | `MODE_ONE` Action will be enabled if there are one or more selected nodes and there is exactly one node which supports the given cookies.
`static int` | `MODE_SOME` Action will be enabled if there are several selected nodes and some of them (at least one, but not all) support the given cookies.

Fields inherited from class org.openide.util.actions.SystemAction
`PROP_ENABLED, PROP_ICON`

Fields inherited from interface javax.swing.Action
`ACCELERATOR_KEY, ACTION_COMMAND_KEY, DEFAULT, LONG_DESCRIPTION, MNEMONIC_KEY, NAME, SHORT_DESCRIPTION, SMALL_ICON`

Constructor Summary
`CookieAction()`

Method Summary
`protected abstract Class[]` | `cookieClasses()` Get the cookies that this action requires.
`Action` | `createContextAwareInstance(Lookup actionContext)` Implements `ContextAwareAction` interface method.
`protected boolean` | `enable(Node[] activatedNodes)` Test for enablement based on the cookies of selected nodes.
`protected abstract int` | `mode()` Get the mode of the action: how strict it should be about cookie support.

Methods inherited from class org.openide.util.actions.NodeAction
`actionPerformed, addNotify, getActivatedNodes, initialize, isEnabled, performAction, performAction, removeNotify, setEnabled, surviveFocusChange`

Methods inherited from class org.openide.util.actions.CallableSystemAction
`asynchronous, getMenuPresenter, getPopupPresenter, getToolbarPresenter`

Methods inherited from class org.openide.util.actions.SystemAction
`clearSharedData, createPopupMenu, createToolbarPresenter, get, getHelpCtx, getIcon, getIcon, getName, getValue, iconResource, linkActions, putValue, setIcon`

Methods inherited from class org.openide.util.SharedClassObject
`addPropertyChangeListener, equals, finalize, findObject, findObject, firePropertyChange, getLock, getProperty, hashCode, putProperty, putProperty, readExternal, removePropertyChangeListener, reset, writeExternal, writeReplace`

Methods inherited from class java.lang.Object
`clone, getClass, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface javax.swing.Action
`addPropertyChangeListener, getValue, putValue, removePropertyChangeListener`

Field Detail

### MODE_ONE

    public static final int MODE_ONE

  Action will be enabled if there are one or more selected nodes and there is exactly one node which supports the given cookies.

  See Also:
    Constant Field Values

### MODE_SOME

    public static final int MODE_SOME

  Action will be enabled if there are several selected nodes and some of them (at least one, but not all) support the given cookies.

  See Also:
    Constant Field Values

### MODE_ALL

    public static final int MODE_ALL

  Action will be enabled if there are one or more selected nodes and all of them support the given cookies.

  See Also:
    Constant Field Values

### MODE_EXACTLY_ONE

    public static final int MODE_EXACTLY_ONE

  Action will be enabled if there is exactly one selected node and it supports the given cookies.

  See Also:
    Constant Field Values

### MODE_ANY

    public static final int MODE_ANY

  Action will be enabled if there are one or more selected nodes and any of them (one, all, or some) support the given cookies.

  See Also:
    Constant Field Values

Constructor Detail

### CookieAction

    public CookieAction()

Method Detail

### mode

    protected abstract int mode()

  Get the mode of the action: how strict it should be about cookie support.

  Returns:
    the mode of the action. Possible values are disjunctions of the `MODE_XXX` constants.

### cookieClasses

    protected abstract Class[] cookieClasses()

  Get the cookies that this action requires. The cookies are disjunctive, i.e. a node must support AT LEAST ONE of the cookies specified by this method.

  Returns:
    a list of cookies

### enable

    protected boolean enable(Node[] activatedNodes)

  Test for enablement based on the cookies of selected nodes. Generally subclasses should not override this except for strange purposes, and then only calling the super method and adding a check. Just use `cookieClasses()` and `mode()` to specify the enablement logic.

  Specified by:
    `enable` in class `NodeAction`
  Parameters:
    `activatedNodes` - the set of activated nodes
  Returns:
    `true` to enable

### createContextAwareInstance

    public Action createContextAwareInstance(Lookup actionContext)

  Implements `ContextAwareAction` interface method.

  Specified by:
    `createContextAwareInstance` in interface `ContextAwareAction`
  Overrides:
    `createContextAwareInstance` in class `NodeAction`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| org.openide.nodes 6.7.22
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Built on December 7 2006. | Portions Copyright 1997-2005 Sun Microsystems, Inc. All rights reserved.