public interface Command
Represents a logical "unit of work" that includes a request context, JSP, URLPattern, content template and (optionally) a target and required security permission. Examples of Commands include "view a page," "create a group," and "edit user preferences."
Commands come in two flavors: "static" and "targeted."
final, threadsafe, and immutable. They have no intrinsic idea of the context they are acting in. For example, the static command
PageCommand.VIEWembodies the idea of viewing a page — but exactly which page is left undefined. Static commands exist so that they can be freely shared and passed around without incurring the penalties of object creation. Static commands are a lot like naked request contexts ("edit", "view", etc.) except that they include additional, essential properites such as the associated URL pattern and content JSP.
targetedCommand(Object)and supplying the target object. Implementing classes generally require a specific target type. For example, the
PageCommandclass requires that the target object be of type
Concrete implementations of Command include:
For a given targeted Command, its
getTarget() method will return a
null value. In addition, its
requiredPermission() method will generally also return a non-
value. It is each implementation's responsibility to construct and store the
correct Permission for a given Command and Target. For example, when
PageCommand.VIEW is targeted at the WikiPage
Command's associated permission is
PagePermission "theWiki:Main", "view".
Static Commands, and targeted Commands that do not require specific
permissions to execute, return a
null result for
|Modifier and Type||Method and Description|
Returns the content template associated with a Command, such as
Returns the JSP associated with the Command.
Returns the human-friendly name for this command.
Returns the request context associated with this Command.
Returns the target associated with a Command, if it was created with one.
Returns the URL pattern associated with this Command.
Returns the Permission required to successfully execute this Command.
Creates and returns a targeted Command by combining a target, such as a WikiPage or GroupPrincipal into the existing Command.
Command targetedCommand(Object target)
targetobject is of the correct type. This method is guaranteed to return a non-
nullCommand (unless the target is an incorrect type).
target- the object to combine, such as a GroupPrincipal or WikiPage
IllegalArgumentException- if the target is not of the correct type
PreferencesContent.jsp. For Commands that are not page-related, this method will always return
null. Calling methods should always check to see if the result of this method is
nullresult, although in some cases the result may be an empty string.
null. For example, the static command
PageCommand.VIEWdoesn't require a permission because it isn't referring to a particular WikiPage. However, if this command targets a WikiPage called
PageCommand.targetedCommand(Object), the resulting Command would require the permission
PagePermission "yourWiki:Main", "view".
nullif not required
targetedCommand(Object)will always return a non-
nullobject. Calling methods should always check to see if the result of this method is
Copyright © 2001-2019 The Apache Software Foundation. All rights reserved.