org.eclipse.jetty.server.handler

## Class HandlerCollection

- 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.HandlerCollection

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

Direct Known Subclasses:
  ContextHandlerCollection, HandlerList

    public class HandlerCollection
    extends AbstractHandlerContainer

A collection of handlers.

The default implementations calls all handlers in list order, regardless of the response status or exceptions. Derived implementation may alter the order or the conditions of calling the contained handlers.

Apache XBean:

### 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 inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle

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

### Constructor Summary

Constructors
Constructor and Description
`HandlerCollection()`
`HandlerCollection(boolean mutableWhenRunning)`

### Method Summary

Methods
`void` `addHandler(Handler handler)`
`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[]` `getHandlers()`
`void` `handle(String target, Request baseRequest, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)` Handle a request.
`boolean` `isParallelStart()` Get the parrallelStart.
`void` `removeHandler(Handler handler)`
`void` `setHandlers(Handler[] handlers)`
`void` `setParallelStart(boolean parallelStart)` Set the parallelStart.
`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`

### Constructor Detail

#### HandlerCollection

    public HandlerCollection()

#### HandlerCollection

    public HandlerCollection(boolean mutableWhenRunning)

### Method Detail

#### getHandlers

    public Handler[] getHandlers()

Returns:
  Returns the handlers.

#### setHandlers

    public void setHandlers(Handler[] handlers)

Parameters:
  `handlers` - The handlers to set.

#### isParallelStart

    public boolean isParallelStart()

Get the parrallelStart.

Returns:
  true if the contained handlers are started in parallel.

#### setParallelStart

    public void setParallelStart(boolean parallelStart)

Set the parallelStart.

Parameters:
  `parallelStart` - If true, contained handlers are started in parallel.

#### 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`
See Also:
  `Handler.handle(String, Request, HttpServletRequest, HttpServletResponse)`

#### 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()`

#### setServer

    public void setServer(Server server)

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

#### addHandler

    public void addHandler(Handler handler)

#### removeHandler

    public void removeHandler(Handler handler)

#### expandChildren

    protected Object expandChildren(Object list,
                        Class byClass)

Overrides:
  `expandChildren` in class `AbstractHandlerContainer`

#### 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()`