org.eclipse.jetty.server.handler

## Class HandlerWrapper

- java.lang.Object
- - org.eclipse.jetty.util.component.AbstractLifeCycle
  - - org.eclipse.jetty.util.component.AggregateLifeCycle
    - - org.eclipse.jetty.server.handler.AbstractHandler
      - - org.eclipse.jetty.server.handler.AbstractHandlerContainer
        - - org.eclipse.jetty.server.handler.HandlerWrapper

All Implemented Interfaces:
  Handler, HandlerContainer, Destroyable, Dumpable, LifeCycle

Direct Known Subclasses:
  ConnectHandler, DebugHandler, GzipHandler, IPAccessHandler, RequestLogHandler, ResourceHandler, RewriteHandler, ScopedHandler, SecurityHandler, Server, StatisticsHandler, WebSocketHandler

    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.

### Nested Class Summary

### Nested classes/interfaces inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle

`AbstractLifeCycle.AbstractLifeCycleListener`

### Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.LifeCycle

`LifeCycle.Listener`

### Field Summary

Fields
`protected Handler` `_handler`

### Fields inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle

`_listeners, FAILED, RUNNING, STARTED, STARTING, STOPPED, STOPPING`

### Constructor Summary

Constructors
Constructor and Description
`HandlerWrapper()`

### Method Summary

Methods
`void` `destroy()` Destroy the joined Destroyable beans in the reverse order they were added.
`protected void` `doStart()` Start the managed lifecycle beans in the order they were added.
`protected void` `doStop()` Stop the joined lifecycle beans in the reverse order they were added.
`protected Object` `expandChildren(Object list, Class byClass)`
`Handler` `getHandler()`
`Handler[]` `getHandlers()`
`<H extends Handler> H` `getNestedHandlerByClass(Class<H> byclass)`
`void` `handle(String target, Request baseRequest, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)` Handle a request.
`void` `setHandler(Handler handler)`
`void` `setServer(Server server)`

### Methods inherited from class org.eclipse.jetty.server.handler.AbstractHandlerContainer

`dump, expandHandler, findContainerOf, getChildHandlerByClass, getChildHandlers, getChildHandlersByClass`

### Methods inherited from class org.eclipse.jetty.server.handler.AbstractHandler

`dumpThis, getServer`

### Methods inherited from class org.eclipse.jetty.util.component.AggregateLifeCycle

`addBean, addBean, contains, dump, dump, dump, dump, dumpObject, dumpStdErr, getBean, getBeans, getBeans, isManaged, manage, removeBean, removeBeans, unmanage`

### Methods inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle

`addLifeCycleListener, getState, getState, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, start, stop`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface org.eclipse.jetty.util.component.LifeCycle

`addLifeCycleListener, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, start, stop`

### Field Detail

#### _handler

    protected Handler _handler

### Constructor Detail

#### HandlerWrapper

    public HandlerWrapper()

### Method Detail

#### getHandler

    public Handler getHandler()

Returns:
  Returns the handlers.

#### getHandlers

    public Handler[] getHandlers()

Returns:
  Returns the handlers.

#### setHandler

    public void setHandler(Handler handler)

Parameters:
  `handler` - Set the `Handler` which should be wrapped.

#### doStart

    protected void doStart()
                    throws Exception

Description copied from class: `AggregateLifeCycle`
Start the managed lifecycle beans in the order they were added.

Overrides:
  `doStart` in class `AbstractHandler`
Throws:
  `Exception`
See Also:
  `AbstractLifeCycle.doStart()`

#### doStop

    protected void doStop()
                   throws Exception

Description copied from class: `AggregateLifeCycle`
Stop the joined lifecycle beans in the reverse order they were added.

Overrides:
  `doStop` in class `AbstractHandler`
Throws:
  `Exception`
See Also:
  `AbstractLifeCycle.doStart()`

#### handle

    public void handle(String target,
              Request baseRequest,
              javax.servlet.http.HttpServletRequest request,
              javax.servlet.http.HttpServletResponse response)
                throws 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.
  `baseRequest` - The original unwrapped request object.
  `request` - The request either as the `Request` object or a wrapper of that request. The `AbstractHttpConnection.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 `AbstractHttpConnection.getCurrentConnection()` method can be used access the Response object if required.
Throws:
  `IOException`
  `javax.servlet.ServletException`

#### setServer

    public void setServer(Server server)

Specified by:
  `setServer` in interface `Handler`
Overrides:
  `setServer` in class `AbstractHandler`

#### expandChildren

    protected Object expandChildren(Object list,
                        Class byClass)

Overrides:
  `expandChildren` in class `AbstractHandlerContainer`

#### getNestedHandlerByClass

    public <H extends Handler> H getNestedHandlerByClass(Class<H> byclass)

#### destroy

    public void destroy()

Description copied from class: `AggregateLifeCycle`
Destroy the joined Destroyable beans in the reverse order they were added.

Specified by:
  `destroy` in interface `Handler`
Specified by:
  `destroy` in interface `Destroyable`
Overrides:
  `destroy` in class `AbstractHandler`
See Also:
  `Destroyable.destroy()`