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, IdleTimeoutHandler, 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
    Modifier and Type | Field and Description
    --- | ---
    `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
    Modifier and Type | Method and Description
    --- | ---
    `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()`

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