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

java.lang.Object
  extended by javax.servlet.GenericServlet
      extended by javax.servlet.http.HttpServlet
          extended by org.apache.commons.chain.web.ChainServlet
              extended by org.apache.commons.chain.web.servlet.ChainProcessor
All Implemented Interfaces:
Serializable, Servlet, ServletConfig

public class ChainProcessor
extends ChainServlet

Custom subclass of ChainServlet that also dispatches incoming requests to a configurable Command loaded from the specified Catalog.

In addition to the servlet init parameters supported by ChainServlet, this class supports the following additional parameters:

Also, the org.apache.commons.chain.CONFIG_ATTR init parameter is also used to identify the Context attribute under which our configured Catalog will be made available to Commands processing our requests, in addition to its definition of the ServletContext attribute key under which the Catalog is available.

See Also:
Serialized Form

Field Summary
static String CATALOG
          The name of the servlet init parameter containing the name of the Catalog to use for processing incoming requests.
static String CATALOG_DEFAULT
          The default request attribute under which we expose the Catalog being used to subordinate Commands.
static String COMMAND
          The name of the servlet init parameter containing the name of the Command (loaded from our configured Catalog to use for processing each incoming request.
 
Fields inherited from class org.apache.commons.chain.web.ChainServlet
CONFIG_ATTR, CONFIG_CLASS_RESOURCE, CONFIG_WEB_RESOURCE, RULE_SET
 
Constructor Summary
ChainProcessor()
           
 
Method Summary
 void destroy()
          Clean up as this application is shut down.
 void init()
          Cache the name of the command we should execute for each request.
 void service(HttpServletRequest request, HttpServletResponse response)
          Configure a ServletWebContext for the current request, and pass it to the execute() method of the specified Command, loaded from our configured Catalog.
 
Methods inherited from class javax.servlet.http.HttpServlet
doDelete, doGet, doHead, doOptions, doPost, doPut, doTrace, getLastModified, service
 
Methods inherited from class javax.servlet.GenericServlet
getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, getServletName, init, log, log
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CATALOG

public static final String CATALOG

The name of the servlet init parameter containing the name of the Catalog to use for processing incoming requests.

See Also:
Constant Field Values

CATALOG_DEFAULT

public static final String CATALOG_DEFAULT

The default request attribute under which we expose the Catalog being used to subordinate Commands.

See Also:
Constant Field Values

COMMAND

public static final String COMMAND

The name of the servlet init parameter containing the name of the Command (loaded from our configured Catalog to use for processing each incoming request.

See Also:
Constant Field Values
Constructor Detail

ChainProcessor

public ChainProcessor()
Method Detail

destroy

public void destroy()

Clean up as this application is shut down.

Specified by:
destroy in interface Servlet
Overrides:
destroy in class ChainServlet

init

public void init()
          throws ServletException

Cache the name of the command we should execute for each request.

Overrides:
init in class ChainServlet
Throws:
ServletException - if an initialization error occurs

service

public void service(HttpServletRequest request,
                    HttpServletResponse response)
             throws IOException,
                    ServletException

Configure a ServletWebContext for the current request, and pass it to the execute() method of the specified Command, loaded from our configured Catalog.

Overrides:
service in class ChainServlet
Parameters:
request - The request we are processing
response - The response we are creating
Throws:
IOException - if an input/output error occurs
ServletException - if a servlet exception occurs


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