org.mortbay.jetty.handler
Class HandlerWrapper

java.lang.Object
  extended by org.mortbay.component.AbstractLifeCycle
      extended by org.mortbay.jetty.handler.AbstractHandler
          extended by org.mortbay.jetty.handler.AbstractHandlerContainer
              extended by org.mortbay.jetty.handler.HandlerWrapper
All Implemented Interfaces:
LifeCycle, Handler, HandlerContainer
Direct Known Subclasses:
AbstractStatisticsHandler, ContextHandler, DebugHandler, RequestLogHandler, RewriteHandler, RewriteHandler, SecurityHandler, Server, SessionHandler

public class HandlerWrapper
extends AbstractHandlerContainer

A HandlerWrapper acts as a Handler but delegates the handle method and life cycle events to a delegate. This is primarily used to implement the Decorator pattern.

Author:
gregw

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.mortbay.component.LifeCycle
LifeCycle.Listener
 
Field Summary
 
Fields inherited from class org.mortbay.jetty.handler.AbstractHandler
_string
 
Fields inherited from class org.mortbay.component.AbstractLifeCycle
_listeners
 
Fields inherited from interface org.mortbay.jetty.Handler
ALL, DEFAULT, ERROR, FORWARD, INCLUDE, REQUEST
 
Constructor Summary
HandlerWrapper()
           
 
Method Summary
 void addHandler(Handler handler)
          Add a handler.
protected  void doStart()
           
protected  void doStop()
           
protected  java.lang.Object expandChildren(java.lang.Object list, java.lang.Class byClass)
           
 Handler getHandler()
           
 void handle(java.lang.String target, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, int dispatch)
          Handle a request.
 void removeHandler(Handler handler)
           
 void setHandler(Handler handler)
           
 void setServer(Server server)
           
 
Methods inherited from class org.mortbay.jetty.handler.AbstractHandlerContainer
expandHandler, getChildHandlerByClass, getChildHandlers, getChildHandlersByClass
 
Methods inherited from class org.mortbay.jetty.handler.AbstractHandler
destroy, getServer, toString
 
Methods inherited from class org.mortbay.component.AbstractLifeCycle
addLifeCycleListener, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, start, stop
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.mortbay.component.LifeCycle
addLifeCycleListener, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, start, stop
 

Constructor Detail

HandlerWrapper

public HandlerWrapper()
Method Detail

getHandler

public Handler getHandler()
Returns:
Returns the handlers.

setHandler

public void setHandler(Handler handler)
Parameters:
handler - Set the Handler which should be wrapped.

addHandler

public void addHandler(Handler handler)
Add a handler. This implementation of addHandler calls setHandler with the passed handler. If this HandlerWrapper had a previous wrapped handler, then it is passed to a call to addHandler on the passed handler. Thus this call can add a handler in a chain of wrapped handlers.

Parameters:
handler -

removeHandler

public void removeHandler(Handler handler)

doStart

protected void doStart()
                throws java.lang.Exception
Overrides:
doStart in class AbstractHandler
Throws:
java.lang.Exception

doStop

protected void doStop()
               throws java.lang.Exception
Overrides:
doStop in class AbstractHandler
Throws:
java.lang.Exception

handle

public void handle(java.lang.String target,
                   javax.servlet.http.HttpServletRequest request,
                   javax.servlet.http.HttpServletResponse response,
                   int dispatch)
            throws java.io.IOException,
                   javax.servlet.ServletException
Description copied from interface: Handler
Handle a request.

Parameters:
target - The target of the request - either a URI or a name.
request - The request either as the Request object or a wrapper of that request. The HttpConnection.getCurrentConnection() method can be used access the Request object if required.
response - The response as the Response object or a wrapper of that request. The HttpConnection.getCurrentConnection() method can be used access the Response object if required.
dispatch - The dispatch mode: Handler.REQUEST, Handler.FORWARD, Handler.INCLUDE, Handler.ERROR
Throws:
java.io.IOException
javax.servlet.ServletException

setServer

public void setServer(Server server)
Specified by:
setServer in interface Handler
Overrides:
setServer in class AbstractHandler

expandChildren

protected java.lang.Object expandChildren(java.lang.Object list,
                                          java.lang.Class byClass)
Overrides:
expandChildren in class AbstractHandlerContainer


Copyright © 1995-2010 Mort Bay Consulting. All Rights Reserved.