org.springframework.richclient.command
Class TargetableActionCommand

java.lang.Object
  extended by org.springframework.binding.value.support.AbstractPropertyChangePublisher
      extended by org.springframework.richclient.command.AbstractCommand
          extended by org.springframework.richclient.command.ActionCommand
              extended by org.springframework.richclient.command.TargetableActionCommand
All Implemented Interfaces:
BeanNameAware, InitializingBean, PropertyChangePublisher, ActionCommandExecutor, GuardedActionCommandExecutor, ParameterizableActionCommandExecutor, Authorizable, Guarded, SecurityControllable

public class TargetableActionCommand
extends ActionCommand

An ActionCommand that delegates to an internal ActionCommandExecutor. The executor can be provided at construction but can also be provided programmatically at runtime and replaced during program execution. This enables a shared global command feature whereby a single command is specified that can perform different actions depending on the currently active context.

Author:
Keith Donald

Field Summary
 
Fields inherited from class org.springframework.richclient.command.ActionCommand
ACTION_COMMAND_PARAMETER_KEY, ACTION_COMMAND_PROPERTY, ACTION_EVENT_PARAMETER_KEY, MODIFIERS_PARAMETER_KEY
 
Fields inherited from class org.springframework.richclient.command.AbstractCommand
ENABLED_PROPERTY_NAME, VISIBLE_PROPERTY_NAME
 
Fields inherited from class org.springframework.binding.value.support.AbstractPropertyChangePublisher
logger
 
Fields inherited from interface org.springframework.richclient.core.Authorizable
AUTHORIZED_PROPERTY
 
Constructor Summary
TargetableActionCommand()
          Creates a new uninitialized TargetableActionCommand.
TargetableActionCommand(String commandId)
          Creates a new TargetableActionCommand with the given identifier.
TargetableActionCommand(String commandId, ActionCommandExecutor commandExecutor)
          Creates a new TargetableActionCommand with the given identifier and initial executor.
 
Method Summary
 void detachCommandExecutor()
          Detaches the current executor from this command and sets the command to disabled state.
protected  void doExecuteCommand()
          Executes this command by delegating to the currently assigned executor.
 void setCommandExecutor(ActionCommandExecutor commandExecutor)
          Attaches the given executor to this command instance, detaching the current executor in the process.
 
Methods inherited from class org.springframework.richclient.command.ActionCommand
addCommandInterceptor, addParameter, execute, execute, getActionAdapter, getActionCommand, getModifiers, getParameter, getParameter, getParameters, isDisplaysInputDialog, onButtonAttached, onPostExecute, onPreExecute, removeCommandInterceptor, setActionCommand, setDefaultButton, setDefaultButtonIn, setDisplaysInputDialog
 
Methods inherited from class org.springframework.richclient.command.AbstractCommand
addEnabledListener, afterPropertiesSet, attach, attach, attach, buttonIterator, createButton, createButton, createButton, createButton, createButton, createButton, createMenuItem, createMenuItem, createMenuItem, createMenuItem, createMenuItem, createMenuItem, defaultButtonIterator, detach, getAccelerator, getButtonFactory, getButtonIn, getCommandServices, getComponentFactory, getDefaultButtonConfigurer, getDefaultFaceDescriptorId, getFaceDescriptor, getFaceDescriptorRegistry, getIcon, getId, getMenuFactory, getMenuItemButtonConfigurer, getMnemonic, getMnemonicIndex, getSecurityControllerId, getText, getToolBarButtonConfigurer, getToolBarButtonFactory, isAnonymous, isAttached, isAuthorized, isEnabled, isFaceConfigured, isVisible, onButtonDetached, removeEnabledListener, requestFocusIn, setAuthorized, setBeanName, setCaption, setCommandServices, setDefaultFaceDescriptorId, setEnabled, setFaceDescriptor, setFaceDescriptor, setFaceDescriptorRegistry, setFaceDescriptors, setIcon, setIconInfo, setId, setLabel, setLabel, setSecurityControllerId, setVisible, toString, updatedEnabledState, updatedVisibleState
 
Methods inherited from class org.springframework.binding.value.support.AbstractPropertyChangePublisher
addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, addVetoableChangeListener, firePropertiesChanged, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, fireVetoableChange, fireVetoableChange, fireVetoableChange, fireVetoableChange, fireVetoableChange, getPropertyChangeListeners, getPropertyChangeListeners, getVetoableChangeListeners, getVetoableChangeListeners, hasChanged, hasChanged, hasChanged, hasChanged, hasChanged, hasChanged, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, removeVetoableChangeListener
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

TargetableActionCommand

public TargetableActionCommand()
Creates a new uninitialized TargetableActionCommand. If defined in a Spring bean factory, the name of the bean will become the id of this instance.


TargetableActionCommand

public TargetableActionCommand(String commandId)
Creates a new TargetableActionCommand with the given identifier. The instance will be initialized in a disabled state.

Parameters:
commandId - The identifier for this instance.

TargetableActionCommand

public TargetableActionCommand(String commandId,
                               ActionCommandExecutor commandExecutor)
Creates a new TargetableActionCommand with the given identifier and initial executor. The instance will be initialized in a disabled state.

Parameters:
commandId - The identifier for this instance.
commandExecutor - The initial command executor.
Method Detail

setCommandExecutor

public void setCommandExecutor(ActionCommandExecutor commandExecutor)
Attaches the given executor to this command instance, detaching the current executor in the process.

Parameters:
commandExecutor - The executor to be attached. May be null, in which case this command will be disabled.

detachCommandExecutor

public void detachCommandExecutor()
Detaches the current executor from this command and sets the command to disabled state.


doExecuteCommand

protected void doExecuteCommand()
Executes this command by delegating to the currently assigned executor.

Specified by:
doExecuteCommand in class ActionCommand


Copyright © 2004-2008 The Spring Framework. All Rights Reserved.