Home » apache-tomcat-6.0.26-src » org.apache » tomcat » util » handler » [javadoc | source]
abstract public class: TcHandler [javadoc | source]
The lowest level component of Jk ( and hopefully Coyote ). Try to keep it minimal and flexible - add only if you _have_ to add. It is similar in concept and can implement/wrap tomcat3.3 Interceptor, tomcat4.0 Valve, axis Handler, tomcat3.3 Handler, apache2 Hooks etc. Both iterative (Interceptor, Hook ) and recursive ( Valve ) behavior are supported. Named TcHandler because Handler name is too overloaded. The interface allows both stateless and statefull implementations ( like Servlet ).
Field Summary
public static final  int OK     
public static final  int LAST     
public static final  int ERROR     
protected  Hashtable attributes     
protected  TcHandler next     
protected  String name     
protected  int id     
Method from org.apache.tomcat.util.handler.TcHandler Summary:
destroy,   getAttribute,   getId,   getName,   init,   invoke,   setAttribute,   setId,   setName,   setNext,   start,   stop
Methods from java.lang.Object:
clone,   equals,   finalize,   getClass,   hashCode,   notify,   notifyAll,   toString,   wait,   wait,   wait
Method from org.apache.tomcat.util.handler.TcHandler Detail:
 public  void destroy() throws IOException 
    Clean up and stop the handler. Override if needed.
 public Object getAttribute(String name) 
    Get an attribute. Override to allow runtime query ( attribute can be anything, including statistics, etc )
 public int getId() 
 public String getName() 
 public  void init() throws IOException 
    Should register the request types it can handle, same style as apache2.
 abstract public int invoke(TcHandlerCtx tcCtx) throws IOException
    The 'hook' method. If a 'next' was set, invoke should call it ( recursive behavior, similar with valve ). The application using the handler can also iterate, using the same semantics with Interceptor or APR hooks.
 public  void setAttribute(String name,
    Object value) 
    Base implementation will just save all attributes. It is higly desirable to override this and allow runtime reconfiguration. XXX Should I make it abstract and force everyone to override ?
 public  void setId(int id) 
    Set the id of the worker. It can be used for faster dispatch. Must be unique, managed by whoever creates the handlers.
 public  void setName(String s) 
    Set the name of the handler. Will allways be called by worker env after creating the worker.
 public  void setNext(TcHandler h) 
    Catalina-style "recursive" invocation. A handler is required to call the next handler if set.
 public  void start() throws IOException 
 public  void stop() throws IOException