@ManagedObject(value="Handler wrapping another Handler") public class HandlerWrapper extends AbstractHandlerContainer
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.AbstractLifeCycle.AbstractLifeCycleListener
LifeCycle.Listener
Container.InheritedListener, Container.Listener
Constructor and Description |
---|
HandlerWrapper() |
Modifier and Type | Method and Description |
---|---|
void |
destroy()
Destroys the managed Destroyable beans in the reverse order they were added.
|
protected void |
expandChildren(List<Handler> list,
Class<?> byClass) |
Handler |
getHandler() |
Handler[] |
getHandlers() |
void |
handle(String target,
Request baseRequest,
HttpServletRequest request,
HttpServletResponse response)
Handle a request.
|
void |
insertHandler(HandlerWrapper wrapper)
Replace the current handler with another HandlerWrapper
linked to the current handler.
|
void |
setHandler(Handler handler) |
expandHandler, findContainerOf, getChildHandlerByClass, getChildHandlers, getChildHandlersByClass, setServer
doStart, doStop, dumpThis, getServer
addBean, addBean, addBean, addEventListener, addManaged, contains, dump, dump, dump, dump, dump, dumpBeans, dumpObject, dumpStdErr, getBean, getBeans, getBeans, isManaged, manage, removeBean, removeBeans, removeEventListener, setBeans, setStopTimeout, start, stop, unmanage, updateBean, updateBean, updateBeans
addLifeCycleListener, getState, getState, getStopTimeout, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, start, stop
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
addLifeCycleListener, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, start, stop
protected Handler _handler
@ManagedAttribute(value="Wrapped Handler", readonly=true) public Handler getHandler()
public Handler[] getHandlers()
public void setHandler(Handler handler)
handler
- Set the Handler
which should be wrapped.public void insertHandler(HandlerWrapper wrapper)
This is equivalent to:
wrapper.setHandler(getHandler()); setHandler(wrapper);
wrapper
- the wrapper to insertpublic void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
Handler
target
- The target of the request - either a URI or a name.baseRequest
- The original unwrapped request object.request
- The request either as the Request
object or a wrapper of that request. The
HttpConnection.getCurrentConnection()
.getHttpChannel()
.getRequest()
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()
.getHttpChannel()
.getResponse()
method can be used access the Response object if required.IOException
- if unable to handle the request or response processingServletException
- if unable to handle the request or response due to underlying servlet issueprotected void expandChildren(List<Handler> list, Class<?> byClass)
expandChildren
in class AbstractHandlerContainer
public void destroy()
ContainerLifeCycle
destroy
in interface Handler
destroy
in interface Destroyable
destroy
in class AbstractHandler
Copyright © 1995-2016 Webtide. All Rights Reserved.