org.apache.commons.chain.web.servlet
Class RequestParameterMapper

java.lang.Object
  extended by org.apache.commons.chain.generic.LookupCommand
      extended by org.apache.commons.chain.web.servlet.RequestParameterMapper
All Implemented Interfaces:
Command, Filter

public class RequestParameterMapper
extends LookupCommand
implements Command

Command that uses a specified request parameter to select a Command from the appropriate Catalog, and execute it. To use this command, you would typically map an instance of ChainProcessor to a wildcard pattern like "*.execute" and then arrange that this is the default command to be executed. In such an environment, a request for the context-relative path "/foo.execute?command=bar" would cause the "/bar" command to be loaded and executed.

Author:
Craig R. McClanahan

Field Summary
 
Fields inherited from interface org.apache.commons.chain.Command
CONTINUE_PROCESSING, PROCESSING_COMPLETE
 
Constructor Summary
RequestParameterMapper()
           
 
Method Summary
protected  Catalog getCatalog(Context context)
          Return the Catalog to look up the Command in.
 String getCatalogKey()
          Return the context key under which our Catalog has been stored.
protected  String getCommandName(Context context)
          Look up the specified request paramater for this request, and use it to select an appropriate Command to be executed.
 String getParameter()
          Deprecated. Use catalogName to specify the name of the catalog in the catalog factory
 void setCatalogKey(String catalogKey)
          Deprecated. Use catalogName to specify the name of the catalog in the catalog factory
 void setParameter(String parameter)
          Set the name of the request parameter to use for selecting the Command to be executed.
 
Methods inherited from class org.apache.commons.chain.generic.LookupCommand
execute, getCatalogFactory, getCatalogName, getCommand, getName, getNameKey, isIgnoreExecuteResult, isIgnorePostprocessResult, isOptional, postprocess, setCatalogFactory, setCatalogName, setIgnoreExecuteResult, setIgnorePostprocessResult, setName, setNameKey, setOptional
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.commons.chain.Command
execute
 

Constructor Detail

RequestParameterMapper

public RequestParameterMapper()
Method Detail

getCatalogKey

public String getCatalogKey()

Return the context key under which our Catalog has been stored.

Returns:
The context key for the Catalog.

setCatalogKey

public void setCatalogKey(String catalogKey)
Deprecated. Use catalogName to specify the name of the catalog in the catalog factory

Set the context key under which our Catalog has been stored.

Parameters:
catalogKey - The new catalog key

getParameter

public String getParameter()
Deprecated. Use catalogName to specify the name of the catalog in the catalog factory

Return the name of the request parameter to use for selecting the Command to be executed.

Returns:
The name of the request parameter.

setParameter

public void setParameter(String parameter)

Set the name of the request parameter to use for selecting the Command to be executed.

Parameters:
parameter - The new parameter name

getCommandName

protected String getCommandName(Context context)

Look up the specified request paramater for this request, and use it to select an appropriate Command to be executed.

Overrides:
getCommandName in class LookupCommand
Parameters:
context - Context for the current request
Returns:
The name of the Command instance
Since:
Chain 1.2

getCatalog

protected Catalog getCatalog(Context context)

Return the Catalog to look up the Command in.

Overrides:
getCatalog in class LookupCommand
Parameters:
context - Context for this request
Returns:
The catalog.
Throws:
IllegalArgumentException - if no Catalog can be found
Since:
Chain 1.2


Copyright 2003-2008 The Apache Software Foundation. All Rights Reserved.