org.openide.nodes 6.7.22

org.openide.util.actions
Class CookieAction

java.lang.Object
  extended by org.openide.util.SharedClassObject
      extended by org.openide.util.actions.SystemAction
          extended by org.openide.util.actions.CallableSystemAction
              extended by org.openide.util.actions.NodeAction
                  extended by 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

org.openide.nodes 6.7.22

Built on July 11 2007.  |  Portions Copyright 1997-2005 Sun Microsystems, Inc. All rights reserved.