Class HandlerCollection
java.lang.Object
org.eclipse.jetty.util.component.AbstractLifeCycle
org.eclipse.jetty.util.component.ContainerLifeCycle
org.eclipse.jetty.ee9.nested.AbstractHandler
org.eclipse.jetty.ee9.nested.AbstractHandlerContainer
org.eclipse.jetty.ee9.nested.HandlerCollection
- All Implemented Interfaces:
Handler, HandlerContainer, Container, Destroyable, Dumpable, Dumpable.DumpableContainer, LifeCycle
- Direct Known Subclasses:
HandlerList
@ManagedObject("Handler of multiple handlers")
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.
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class AbstractHandler
AbstractHandler.ErrorDispatchHandlerNested classes/interfaces inherited from class AbstractLifeCycle
AbstractLifeCycle.AbstractLifeCycleListener, AbstractLifeCycle.StopExceptionNested classes/interfaces inherited from interface Container
Container.InheritedListener, Container.ListenerNested classes/interfaces inherited from interface Dumpable
Dumpable.DumpableContainerNested classes/interfaces inherited from interface LifeCycle
LifeCycle.Listener -
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionHandlerCollection(boolean mutableWhenRunning, Handler... handlers) HandlerCollection(Handler... handlers) -
Method Summary
Modifier and TypeMethodDescriptionvoidaddHandler(Handler handler) Adds a handler.voiddestroy()Destroys the managed Destroyable beans in the reverse order they were added.protected voidexpandChildren(List<Handler> list, Class<?> byClass) Handler[]voidhandle(String target, Request baseRequest, jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) Handle a request.protected HandlerCollection.HandlersnewHandlers(Handler[] handlers) voidprependHandler(Handler handler) Prepends a handler.voidremoveHandler(Handler handler) voidsetHandlers(Handler[] handlers) Set the array of handlers to set..protected booleanupdateHandlers(HandlerCollection.Handlers old, HandlerCollection.Handlers handlers) Methods inherited from class AbstractHandlerContainer
expandHandler, findContainerOf, getChildHandlerByClass, getChildHandlers, getChildHandlersByClass, setServerMethods inherited from class AbstractHandler
doError, doStart, doStop, getServerMethods inherited from class ContainerLifeCycle
addBean, addBean, addEventListener, addManaged, contains, dump, dump, dump, dumpObjects, dumpStdErr, getBean, getBeans, getBeans, getContainedBeans, getContainedBeans, installBean, installBean, isAuto, isManaged, isUnmanaged, manage, removeBean, removeBeans, removeEventListener, setBeans, start, stop, unmanage, updateBean, updateBean, updateBeans, updateBeansMethods inherited from class AbstractLifeCycle
getEventListeners, getState, getState, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, setEventListeners, start, stop, toStringMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface Container
getCachedBeans, getEventListenersMethods inherited from interface Dumpable.DumpableContainer
isDumpableMethods inherited from interface LifeCycle
addEventListener, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeEventListener, start, stop
-
Field Details
-
_handlers
-
-
Constructor Details
-
HandlerCollection
public HandlerCollection() -
HandlerCollection
-
HandlerCollection
-
-
Method Details
-
getHandlers
- Returns:
- the array of handlers.
-
setHandlers
Set the array of handlers to set..- Parameters:
handlers- the array of handlers to set.
-
newHandlers
-
updateHandlers
protected boolean updateHandlers(HandlerCollection.Handlers old, HandlerCollection.Handlers handlers) -
handle
public void handle(String target, Request baseRequest, jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) throws IOException, jakarta.servlet.ServletException Description copied from interface:HandlerHandle a request.- Specified by:
handlein interfaceHandler- Specified by:
handlein classAbstractHandler- Parameters:
target- The target of the request - either a URI or a name.baseRequest- The original unwrapped request object.request- The request either as theRequestobject or a wrapper of that request.response- The response as theResponseobject or a wrapper of that request.- Throws:
IOException- if unable to handle the request or response processingjakarta.servlet.ServletException- if unable to handle the request or response due to underlying servlet issue
-
addHandler
Adds a handler. This implementation adds the passed handler to the end of the existing collection of handlers. If the handler is already added, it is removed and readded -
prependHandler
Prepends a handler. This implementation adds the passed handler to the start of the existing collection of handlers. -
removeHandler
-
expandChildren
- Overrides:
expandChildrenin classAbstractHandlerContainer
-
destroy
public void destroy()Description copied from class:ContainerLifeCycleDestroys the managed Destroyable beans in the reverse order they were added.- Specified by:
destroyin interfaceDestroyable- Specified by:
destroyin interfaceHandler- Overrides:
destroyin classAbstractHandler
-