SAP NetWeaver '04

com.sapportals.wcm.rendering.uicommand
Class AbstractCommand

[contained in: com.sap.km.cm.ui.flex.par - km.shared.ui.flex.uicommand_api.jar]
java.lang.Object
  |
  +--com.sapportals.wcm.rendering.uicommand.AbstractCommand
All Implemented Interfaces:
ICommand, IExecCommand, IUIBaseCommand

public abstract class AbstractCommand
extends java.lang.Object
implements ICommand

This class can be used by IUICommands to reduce coding overhead and to take advantage of some convinience methods for resource bundle handling. It also holds some implementations for the ISelector interface. Copyright: Copyright 2004 SAP AG

Since:
EP5 SP6 and EP6 SP1

Inner Class Summary
protected  class AbstractCommand.ResourceNotFoundException
           
 
Field Summary
protected  int applicable
           
protected  IResourceContext context
           
 java.lang.String layoutSetID
          Layout Set ID
 AbstractProxyControl proxy
          Description of the Field
protected  IResource resource
          Description of the Field
 
Fields inherited from interface com.sapportals.wcm.rendering.uicommand.IExecCommand
APPLICABLE_FALSE, APPLICABLE_TRUE, APPLICABLE_UNKNOWN
 
Fields inherited from interface com.sapportals.wcm.rendering.base.IUIBaseCommand
ERR_MESSAGE_MISSING_CONFIG_ENTRY, ERR_MESSAGE_WRONG_METHOD_CALL, KEY_INPUT_CONTROL_TEXT, KEY_INPUT_CONTROL_TEXT_2, KEY_INPUT_CONTROL_TEXT_2_DEFAULT_TEXT, KEY_INPUT_CONTROL_TEXT_3, KEY_INPUT_CONTROL_TEXT_DEFAULT_TEXT, KEY_LABEL, KEY_MASS_EMBEDDED_COMMAND_TEXT, KEY_MASS_EMBEDDED_COMMANT_TOOLTIP, KEY_SINGLE_EMBEDDED_COMMAND_TEXT, KEY_SINGLE_EMBEDDED_COMMAND_TOOLTIP, KEY_TOOLTIP, LINE_BREAK, TEXT_KEYS, VALUE_EMPTY_STRING
 
Constructor Summary
AbstractCommand()
          public constructor used by the UICommandFactory, when command is created for the first time
AbstractCommand(java.lang.String keyLabel, java.lang.String keyTooltip)
          allows to set keys for the label and the tooltip of the command.
 
Method Summary
protected  void createResource(IResourceContext context, RID rid)
          creates an IResource from the given parameters and sets it as the member variable.
protected  IResource createResource(java.lang.String uri)
          creates an IResource from the given parameters and returns it.
 RenderingEvent execute(ScreenflowData data)
           
 java.lang.String getAlias()
          Gets the alias attribute of the AbstractUICommand object
protected  java.lang.String getBundleString(java.lang.String key)
          returns the translated text for the given key.
protected  java.lang.String getBundleString(java.lang.String key, java.lang.Object obj)
          returns the translated text with the given variables included in the object.
protected  java.lang.String getBundleString(java.lang.String key, java.lang.Object[] obj)
          returns the translated text with the given variables included in the object array.
protected  java.lang.String getBundleString(java.lang.String key, java.lang.Object obj1, java.lang.Object obj2)
          returns the translated text with the given variables included in the two objects.
 java.lang.String getButtonLabel()
           
 com.sapportals.htmlb.Component getComponent()
          Returns a component for this command.
 java.util.Properties getConfigurationProperties()
          returns the configproperties for this command.
protected  java.lang.String getLabel()
          returns the label text for the command.
 java.lang.String getLayoutSetID()
          Gets the layoutSetID attribute of the AbstractUICommand object
 LinkAttributes getLinkAttributes()
          Gets the linkAttributes attribute of the AbstractUICommand object
 java.lang.String getLinkLabel()
          Gets the linkLabel attribute of the AbstractUICommand object
protected  java.lang.String getOTHDefinedURL(IResource res, IActionType actiontype)
           
 java.util.Hashtable getParameters()
          Gets the command parameters
 AbstractProxyControl getProxy()
          Gets the proxy attribute of the AbstractUICommand object
 java.util.List getReplaceCommands()
          gets the list of commands which will be ignored when the command is executable
 IResource getResource()
          returns the resource the command operates on
protected  RID getStartUri()
          returns the Start Uri value from proxy parameters
 java.lang.String getText(TextKey key)
          Gets the text attribute of the AbstractUICommand object
 java.lang.String getTextForSecondaryScreen(java.lang.String key)
          Gets the textForSecondaryScreen attribute of the AbstractUICommand object
protected  java.util.Properties getTextProperties()
          returns the defined textproperties
protected  java.lang.String getTooltip()
          returns the tooltip text for the command.
protected  void handleWrongConfiguration()
          throws an InvalidConfigurationException that will be displayed on the screen and give further information what was invalid for the given configuration
protected  ICommand initNewInstance(ICommand command)
          whenever a new instance of a command is needed, the newly created instance has to inherit all of the old instance's member variables, such as the alias, the resource bundle...
 boolean isApplicable()
          Gets the applicable attribute of the AbstractUICommand object
protected  boolean isMatchedPath(java.lang.String[] paths, java.lang.String resourcePath)
           
protected  boolean othAvailable(IResource res, IActionType actiontype)
           
 boolean raisesEvent()
          Description of the Method
protected  IResource resolveLink()
          returns either the current resource, or the target of the current resource, if the current resource is an internal link
 void setAlias(java.lang.String alias)
          Sets the alias attribute of the AbstractUICommand object
 void setConfigurationProperties(java.util.Properties properties)
          allows to set a free list of key-value pairs to be used by this command.
 void setLabelBundleKey(java.lang.String groupLabel)
          currently not implemented.
 void setLayoutSetID(java.lang.String layoutSetID)
          Sets the layoutSetID attribute of the AbstractUICommand object
 void setParameters(java.util.Hashtable parameters)
          Sets parameters for the command.
 void setProxy(AbstractProxyControl proxy)
          Sets the proxy attribute of the AbstractUICommand object
 void setReplaceCommands(java.util.List replaceCommandsList)
          set the list of commands which will be ignored when the command is executable
 void setResource(IResource resource)
          sets the resource the command shall operate on
 void setResourceBundle(ResourceBundles bundleFile)
          sets the resourcebundle for this command
 void setResourceContext(IResourceContext context)
          Sets the resourceContext attribute of the AbstractUICommand object
 void setTextProperties(java.util.Properties properties)
          copies the values of known keys from the given properties-object into its own list.
 void setTooltipBundleKey(java.lang.String groupTooltip)
          currently not implemented.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.sapportals.wcm.rendering.uicommand.ICommand
execute, getNewInstance
 
Methods inherited from interface com.sapportals.wcm.rendering.uicommand.IExecCommand
getTargetParameters, isExecutable, setTargetParameters
 

Field Detail

resource

protected IResource resource
Description of the Field

applicable

protected int applicable

context

protected IResourceContext context

layoutSetID

public java.lang.String layoutSetID
Layout Set ID

proxy

public AbstractProxyControl proxy
Description of the Field
Constructor Detail

AbstractCommand

public AbstractCommand()
public constructor used by the UICommandFactory, when command is created for the first time

AbstractCommand

public AbstractCommand(java.lang.String keyLabel,
                       java.lang.String keyTooltip)
allows to set keys for the label and the tooltip of the command. It does not check, if the resource bundle holds entries for these keys.
Parameters:
keyLabel - the labelkey for the resourcebundle of the command, it is only set if it is not null
keyTooltip - the tooltipkey for the resourcebundle of the command, it is only set if it is not null
Method Detail

setResource

public void setResource(IResource resource)
sets the resource the command shall operate on
Specified by:
setResource in interface IUIBaseCommand
Parameters:
resource - resource the command shall operate on. Must not be null

getResource

public IResource getResource()
returns the resource the command operates on
Specified by:
getResource in interface ICommand
Returns:
the resource the command operates on, can be null.

getTooltip

protected java.lang.String getTooltip()
returns the tooltip text for the command. If no entry in the specified resource bundle is found, the class searches in its own static default resource bundle. If none can be found there, the alias-attribute of the class is returned.
Returns:
a tooltip for this command

getLabel

protected java.lang.String getLabel()
returns the label text for the command. If no entry in the specified resource bundle is found, the class searches in its own static default resource bundle. If none can be found there, the alias-attribute of the class is returned.
Returns:
a label for this command

getText

public java.lang.String getText(TextKey key)
Gets the text attribute of the AbstractUICommand object
Specified by:
getText in interface IUIBaseCommand
Parameters:
key - Description of the param
Returns:
The text value

setTextProperties

public void setTextProperties(java.util.Properties properties)
copies the values of known keys from the given properties-object into its own list.
Specified by:
setTextProperties in interface ICommand
Parameters:
properties - should hold key-value pairs with keys defined in IUIBaseCommand.TEXT_KEYS . Other key-value pairs will not be used.

getTextProperties

protected java.util.Properties getTextProperties()
returns the defined textproperties
Returns:
the key-value pairs holding keys for the resourcebundle entries with texts for this command. Does not return null, but may return an empty Properties-object.

setResourceBundle

public void setResourceBundle(ResourceBundles bundleFile)
sets the resourcebundle for this command
Specified by:
setResourceBundle in interface IUIBaseCommand
Parameters:
bundleFile - the bundle the command uses to retrieve its texts.

setLabelBundleKey

public void setLabelBundleKey(java.lang.String groupLabel)
currently not implemented.
Specified by:
setLabelBundleKey in interface IUIBaseCommand
Parameters:
groupLabel - The new labelBundleKey value

setTooltipBundleKey

public void setTooltipBundleKey(java.lang.String groupTooltip)
currently not implemented.
Specified by:
setTooltipBundleKey in interface IUIBaseCommand
Parameters:
groupTooltip - The new tooltipBundleKey value

setConfigurationProperties

public void setConfigurationProperties(java.util.Properties properties)
allows to set a free list of key-value pairs to be used by this command. This
Specified by:
setConfigurationProperties in interface IUIBaseCommand
Parameters:
properties - free properties bag to be used by a command.

getConfigurationProperties

public java.util.Properties getConfigurationProperties()
returns the configproperties for this command.
Specified by:
getConfigurationProperties in interface IUIBaseCommand
Returns:
the properties set for this command, e.g. in the configuration. Does not return null, but may return an empty properties-object.

getComponent

public com.sapportals.htmlb.Component getComponent()
Returns a component for this command. This could be used to display this command on the screen.
Specified by:
getComponent in interface IUIBaseCommand
Returns:
a component to display. Currently returns null;

createResource

protected void createResource(IResourceContext context,
                              RID rid)
                       throws WcmException
creates an IResource from the given parameters and sets it as the member variable.
Parameters:
context - the current context of the session
rid - the identifier of the resource to create
Throws:
WcmException - if the resource could not be created.

createResource

protected IResource createResource(java.lang.String uri)
                            throws ResourceException,
                                   WcmException
creates an IResource from the given parameters and returns it. Does not set it as a member variable.
Parameters:
context - the current context of the session
rid - the identifier of the resource to create
Throws:
WcmException - if the resource could not be created.

raisesEvent

public boolean raisesEvent()
Description of the Method
Specified by:
raisesEvent in interface IExecCommand
Returns:
Description of the Return Value

initNewInstance

protected final ICommand initNewInstance(ICommand command)
whenever a new instance of a command is needed, the newly created instance has to inherit all of the old instance's member variables, such as the alias, the resource bundle... To aid with this, the implementing class can implement its getNewInstancemethod like this public getNewInstance() { return this.initNewInstance(new MyCommand()); } this abstract class' method will copy all of the member-attributes. Comparable to the deep-clone approach.
Parameters:
command - Description of the param
Returns:
Description of the Return Value

getLinkAttributes

public LinkAttributes getLinkAttributes()
Gets the linkAttributes attribute of the AbstractUICommand object
Specified by:
getLinkAttributes in interface IExecCommand
Returns:
The linkAttributes value

setProxy

public void setProxy(AbstractProxyControl proxy)
Sets the proxy attribute of the AbstractUICommand object
Specified by:
setProxy in interface IUIBaseCommand
Parameters:
proxy - The new proxy value

getProxy

public AbstractProxyControl getProxy()
Gets the proxy attribute of the AbstractUICommand object
Returns:
The proxy value

getTextForSecondaryScreen

public java.lang.String getTextForSecondaryScreen(java.lang.String key)
Gets the textForSecondaryScreen attribute of the AbstractUICommand object
Parameters:
key - Description of the param
Returns:
The textForSecondaryScreen value

getLayoutSetID

public java.lang.String getLayoutSetID()
Gets the layoutSetID attribute of the AbstractUICommand object
Returns:
The layoutSetID value

setLayoutSetID

public void setLayoutSetID(java.lang.String layoutSetID)
Sets the layoutSetID attribute of the AbstractUICommand object
Parameters:
layoutSetID - The new layoutSetID value

getAlias

public java.lang.String getAlias()
Gets the alias attribute of the AbstractUICommand object
Specified by:
getAlias in interface IExecCommand
Returns:
The alias value

setAlias

public void setAlias(java.lang.String alias)
Sets the alias attribute of the AbstractUICommand object
Specified by:
setAlias in interface IExecCommand
Parameters:
alias - The new alias value

execute

public RenderingEvent execute(ScreenflowData data)
                       throws WcmException

setResourceContext

public void setResourceContext(IResourceContext context)
Sets the resourceContext attribute of the AbstractUICommand object
Specified by:
setResourceContext in interface IUIBaseCommand
Parameters:
context - The new resourceContext value

getBundleString

protected java.lang.String getBundleString(java.lang.String key,
                                           java.lang.Object[] obj)
returns the translated text with the given variables included in the object array. If the key cannot be found in the specified resource bundle, the class will check for it in its static default bundle. If it cannot be found here, an error message is logged and the alias of the implementing class is returned instead.
Parameters:
key - the key of the text to return - must not be null
obj - the variables to fill the place holders in the resource bundle, can be null
Returns:
The bundleString value
Throws:
java.util.MissingResourceException - if the IResourceContext is not set for the command

getBundleString

protected java.lang.String getBundleString(java.lang.String key)
returns the translated text for the given key. If the key cannot be found in the specified resource bundle, the class will check for it in its static default bundle. If it cannot be found here, an error message is logged and the alias of the implementing class is returned instead.
Parameters:
key - the key of the text to return - must not be null
Returns:
The bundleString value
Throws:
java.util.MissingResourceException - if the IResourceContext is not set for the command

getBundleString

protected java.lang.String getBundleString(java.lang.String key,
                                           java.lang.Object obj)
returns the translated text with the given variables included in the object. If the key cannot be found in the specified resource bundle, the class will check for it in its static default bundle. If it cannot be found here, an error message is logged and the alias of the implementing class is returned instead.
Parameters:
key - the key of the text to return - must not be null
obj - the variable to fill the place holder in the resource bundle, can be null
Returns:
The bundleString value
Throws:
java.util.MissingResourceException - if the IResourceContext is not set for the command

getBundleString

protected java.lang.String getBundleString(java.lang.String key,
                                           java.lang.Object obj1,
                                           java.lang.Object obj2)
returns the translated text with the given variables included in the two objects. If the key cannot be found in the specified resource bundle, the class will check for it in its static default bundle. If it cannot be found here, an error message is logged and the alias of the implementing class is returned instead.
Parameters:
key - the key of the text to return - must not be null
obj1 - the variable to fill the first place holder in the resource bundle, can be null
obj2 - the variable to fill the second place holder in the resource bundle, can be null *
Returns:
The bundleString value
Throws:
java.util.MissingResourceException - if the IResourceContext is not set for the command

handleWrongConfiguration

protected void handleWrongConfiguration()
                                 throws com.sapportals.wcm.control.base.InvalidConfigurationException
throws an InvalidConfigurationException that will be displayed on the screen and give further information what was invalid for the given configuration
Throws:
InvalidConfigurationException - Exception raised in failure situation

getReplaceCommands

public java.util.List getReplaceCommands()
gets the list of commands which will be ignored when the command is executable
Specified by:
getReplaceCommands in interface IUIBaseCommand
Returns:
The replaceCommands value

setReplaceCommands

public void setReplaceCommands(java.util.List replaceCommandsList)
set the list of commands which will be ignored when the command is executable
Specified by:
setReplaceCommands in interface IUIBaseCommand
Parameters:
replaceCommandsList - The new replaceCommands value

isApplicable

public boolean isApplicable()
Gets the applicable attribute of the AbstractUICommand object
Specified by:
isApplicable in interface IExecCommand
Returns:
The applicable value

getStartUri

protected RID getStartUri()
returns the Start Uri value from proxy parameters
Returns:
The start uri value

getLinkLabel

public java.lang.String getLinkLabel()
Gets the linkLabel attribute of the AbstractUICommand object
Returns:
The linkLabel value

getButtonLabel

public java.lang.String getButtonLabel()
Returns:
the label to put on the button that leads to this Command

isMatchedPath

protected boolean isMatchedPath(java.lang.String[] paths,
                                java.lang.String resourcePath)

othAvailable

protected boolean othAvailable(IResource res,
                               IActionType actiontype)

getOTHDefinedURL

protected java.lang.String getOTHDefinedURL(IResource res,
                                            IActionType actiontype)

setParameters

public void setParameters(java.util.Hashtable parameters)
Sets parameters for the command. Each parameters should have an unique key and one or more values.
Specified by:
setParameters in interface IUIBaseCommand
Parameters:
parameters - The new parameters value

getParameters

public java.util.Hashtable getParameters()
Gets the command parameters
Specified by:
getParameters in interface IUIBaseCommand
Returns:
The parameters value

resolveLink

protected final IResource resolveLink()
                               throws ResourceException
returns either the current resource, or the target of the current resource, if the current resource is an internal link
Returns:
the current resource as defined in getResource(). If this resource is an internal link: this.getResource().getLinkType().equals(LinkType.INTERNAL), the target of this resource is returned.
Throws:
ResourceException - is thrown by the RepositoryFramework and not caught by this method

SAP NetWeaver '04

Copyright © 2004 by SAP AG. All Rights Reserved.
SAP, R/3, mySAP, mySAP.com, xApps, xApp, SAP NetWeaver, and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP AG in Germany and in several other countries all over the world. All other product and service names mentioned are the trademarks of their respective companies. Data contained in this document serves informational purposes only. National product specifications may vary.

These materials are subject to change without notice. These materials are provided by SAP AG and its affiliated companies ("SAP Group") for informational purposes only, without representation or warranty of any kind, and SAP Group shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP Group products and services are those that are set forth in the express warranty statements accompanying such products and services, if any. Nothing herein should be construed as constituting an additional warranty.