Package org.apache.wiki.ui
Class AbstractCommand
java.lang.Object
org.apache.wiki.ui.AbstractCommand
- All Implemented Interfaces:
Command
- Direct Known Subclasses:
GroupCommand
,PageCommand
,RedirectCommand
,WikiCommand
public abstract class AbstractCommand extends java.lang.Object implements Command
Abstract, immutable Command implementation class. All of the fields in this class are
final
. This class is thread-safe.- Since:
- 2.4.22
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractCommand(java.lang.String requestContext, java.lang.String urlPattern, java.lang.String contentTemplate, java.lang.Object target)
Constructs a new Command with a specified wiki context, URL pattern, content template and target. -
Method Summary
Modifier and Type Method Description java.lang.String
getContentTemplate()
Returns the content template associated with a Command, such asPreferencesContent.jsp
.java.lang.String
getJSP()
Returns the JSP associated with the Command.protected java.lang.String
getJSPFriendlyName()
Returns the "friendly name" for this command's JSP, namely a beatified version of the JSP's name without the .jsp suffix.abstract java.lang.String
getName()
Returns the human-friendly name for this command.java.lang.String
getRequestContext()
Returns the name of the request context (e.g.java.lang.Object
getTarget()
Returns the target associated with a Command, if it was created with one.java.lang.String
getURLPattern()
Returns the URL pattern associated with this Command.abstract Command
targetedCommand(java.lang.Object target)
Creates and returns a targeted Command by combining a target, such as a WikiPage or GroupPrincipal into the existing Command.java.lang.String
toString()
Returns a String representation of the Command.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.apache.wiki.api.core.Command
requiredPermission
-
Constructor Details
-
AbstractCommand
protected AbstractCommand(java.lang.String requestContext, java.lang.String urlPattern, java.lang.String contentTemplate, java.lang.Object target)Constructs a new Command with a specified wiki context, URL pattern, content template and target. The URL pattern is used to derive the JSP; if it is a "local" JSP (that is, it does not contain thehttp://
orhttps://
prefixes), then the JSP will be a cleansed version of the URL pattern; symbols (such as%u
) will removed. If it the supplied URL pattern points to a non-local destination, the JSP will be set to the value supplied, unmodified.- Parameters:
requestContext
- the request contexturlPattern
- the URL patterncontentTemplate
- the content template; may benull
target
- the target of the command, such as a WikiPage; may benull
- Throws:
java.lang.IllegalArgumentException
- if the request content or URL pattern isnull
-
-
Method Details
-
targetedCommand
Description copied from interface:Command
Creates and returns a targeted Command by combining a target, such as a WikiPage or GroupPrincipal into the existing Command. Subclasses should check to make sure the suppliedtarget
object is of the correct type. This method is guaranteed to return a non-null
Command (unless the target is an incorrect type).- Specified by:
targetedCommand
in interfaceCommand
- Parameters:
target
- the object to combine, such as a GroupPrincipal or WikiPage- Returns:
- the new, targeted Command
- See Also:
Command.targetedCommand(Object)
-
getContentTemplate
Description copied from interface:Command
Returns the content template associated with a Command, such asPreferencesContent.jsp
. For Commands that are not page-related, this method will always returnnull
. Calling methods should always check to see if the result of this method isnull
.- Specified by:
getContentTemplate
in interfaceCommand
- Returns:
- the content template
- See Also:
Command.getContentTemplate()
-
getJSP
Description copied from interface:Command
Returns the JSP associated with the Command. The JSP is a "local" JSP within the JSPWiki webapp; it is not a general HTTP URL. If it exists, the JSP will be expressed relative to the webapp root, without a leading slash. This method is guaranteed to return a non-null
result, although in some cases the result may be an empty string.- Specified by:
getJSP
in interfaceCommand
- Returns:
- the JSP or url associated with the wiki command
- See Also:
Command.getJSP()
-
getName
Description copied from interface:Command
Returns the human-friendly name for this command.- Specified by:
getName
in interfaceCommand
- Returns:
- the name
- See Also:
Command.getName()
-
getRequestContext
Description copied from interface:Command
Returns the name of the request context (e.g. VIEW) associated with this Command. This method is guaranteed to return a non-null
String.- Specified by:
getRequestContext
in interfaceCommand
- Returns:
- the request context
- See Also:
Command.getRequestContext()
-
getTarget
Description copied from interface:Command
Returns the target associated with a Command, if it was created with one. Commands created withCommand.targetedCommand(Object)
will always return a non-null
object. Calling methods should always check to see if the result of this method isnull
.- Specified by:
getTarget
in interfaceCommand
- Returns:
- the wiki page
- See Also:
Command.getTarget()
-
getURLPattern
Description copied from interface:Command
Returns the URL pattern associated with this Command. This method is guaranteed to return a non-null
String.- Specified by:
getURLPattern
in interfaceCommand
- Returns:
- the URL pattern
- See Also:
Command.getURLPattern()
-
getJSPFriendlyName
Returns the "friendly name" for this command's JSP, namely a beatified version of the JSP's name without the .jsp suffix.- Returns:
- the friendly name
-
toString
Returns a String representation of the Command.- Overrides:
toString
in classjava.lang.Object
- See Also:
Object.toString()
-