Class ScopedHandler
- java.lang.Object
-
- All Implemented Interfaces:
Handler
,HandlerContainer
,Container
,Destroyable
,Dumpable
,Dumpable.DumpableContainer
,LifeCycle
- Direct Known Subclasses:
ContextHandler
,ServletHandler
,SessionHandler
@Deprecated(since="2021-05-27") public abstract class ScopedHandler extends HandlerWrapper
Deprecated.The Eclipse Jetty and Apache Felix Http Jetty packages are no longer supported.ScopedHandler. A ScopedHandler is a HandlerWrapper where the wrapped handlers each define a scope.When
handle(String, Request, HttpServletRequest, HttpServletResponse)
is called on the first ScopedHandler in a chain of HandlerWrappers, thedoScope(String, Request, HttpServletRequest, HttpServletResponse)
method is called on all contained ScopedHandlers, before thedoHandle(String, Request, HttpServletRequest, HttpServletResponse)
method is called on all contained handlers.For example if Scoped handlers A, B & C were chained together, then the calling order would be:
A.handle(...) A.doScope(...) B.doScope(...) C.doScope(...) A.doHandle(...) B.doHandle(...) C.doHandle(...)
If non scoped handler X was in the chained A, B, X & C, then the calling order would be:
A.handle(...) A.doScope(...) B.doScope(...) C.doScope(...) A.doHandle(...) B.doHandle(...) X.handle(...) C.handle(...) C.doHandle(...)
A typical usage pattern is:
private static class MyHandler extends ScopedHandler { public void doScope(String target, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { try { setUpMyScope(); super.doScope(target,request,response); } finally { tearDownMyScope(); } } public void doHandle(String target, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { try { doMyHandling(); super.doHandle(target,request,response); } finally { cleanupMyHandling(); } } }
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.eclipse.jetty.server.handler.AbstractHandler
AbstractHandler.ErrorDispatchHandler
-
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.Container
Container.InheritedListener, Container.Listener
-
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.Dumpable
Dumpable.DumpableContainer
-
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.LifeCycle
LifeCycle.Listener
-
-
Constructor Summary
Constructors Constructor Description ScopedHandler()
Deprecated.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods Modifier and Type Method Description abstract void
doHandle(java.lang.String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response)
Deprecated.Do the handler work within the scope.void
doScope(java.lang.String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response)
Deprecated.Scope the handlervoid
handle(java.lang.String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response)
Deprecated.------------------------------------------------------------void
nextHandle(java.lang.String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response)
Deprecated.void
nextScope(java.lang.String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response)
Deprecated.Scope the handler-
Methods inherited from class org.eclipse.jetty.server.handler.HandlerWrapper
destroy, getHandler, getHandlers, insertHandler, setHandler
-
Methods inherited from class org.eclipse.jetty.server.handler.AbstractHandlerContainer
findContainerOf, getChildHandlerByClass, getChildHandlers, getChildHandlersByClass, setServer
-
Methods inherited from class org.eclipse.jetty.server.handler.AbstractHandler
getServer
-
Methods inherited from class org.eclipse.jetty.util.component.ContainerLifeCycle
addBean, addBean, addEventListener, addManaged, contains, dump, dump, dump, dump, dump, dumpObject, dumpStdErr, getBean, getBeans, getBeans, getContainedBeans, isAuto, isManaged, isUnmanaged, manage, removeBean, removeBeans, removeEventListener, setBeans, setStopTimeout, unmanage, updateBean, updateBean, updateBeans
-
Methods inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
addLifeCycleListener, getState, getState, getStopTimeout, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, start, stop, toString
-
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.eclipse.jetty.util.component.Dumpable.DumpableContainer
isDumpable
-
Methods inherited from interface org.eclipse.jetty.util.component.LifeCycle
addLifeCycleListener, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, start, stop
-
-
-
-
Method Detail
-
handle
public final void handle(java.lang.String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws java.io.IOException, ServletException
Deprecated.------------------------------------------------------------- Specified by:
handle
in interfaceHandler
- Overrides:
handle
in classHandlerWrapper
- Parameters:
target
- The target of the request - either a URI or a name.baseRequest
- The original unwrapped request object.request
- The request either as theRequest
object or a wrapper of that request. The
method can be used access the Request object if required.HttpConnection.getCurrentConnection()
.getHttpChannel()
.getRequest()
response
- The response as theResponse
object or a wrapper of that request. The
method can be used access the Response object if required.HttpConnection.getCurrentConnection()
.getHttpChannel()
.getResponse()
- Throws:
java.io.IOException
- if unable to handle the request or response processingServletException
- if unable to handle the request or response due to underlying servlet issue
-
doScope
public void doScope(java.lang.String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws java.io.IOException, ServletException
Deprecated.Scope the handlerDerived implementations should call
nextScope(String, Request, HttpServletRequest, HttpServletResponse)
- Parameters:
target
- The target of the request - either a URI or a name.baseRequest
- The original unwrapped request object.request
- The request either as theRequest
object or a wrapper of that request. The
method can be used access the Request object if required.HttpConnection.getCurrentConnection()
.getHttpChannel()
.getRequest()
response
- The response as theResponse
object or a wrapper of that request. The
method can be used access the Response object if required.HttpConnection.getCurrentConnection()
.getHttpChannel()
.getResponse()
- Throws:
java.io.IOException
- if unable to handle the request or response processingServletException
- if unable to handle the request or response due to underlying servlet issue
-
nextScope
public final void nextScope(java.lang.String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws java.io.IOException, ServletException
Deprecated.Scope the handler- Parameters:
target
- The target of the request - either a URI or a name.baseRequest
- The original unwrapped request object.request
- The request either as theRequest
object or a wrapper of that request. The
method can be used access the Request object if required.HttpConnection.getCurrentConnection()
.getHttpChannel()
.getRequest()
response
- The response as theResponse
object or a wrapper of that request. The
method can be used access the Response object if required.HttpConnection.getCurrentConnection()
.getHttpChannel()
.getResponse()
- Throws:
java.io.IOException
- if unable to handle the request or response processingServletException
- if unable to handle the request or response due to underlying servlet issue
-
doHandle
public abstract void doHandle(java.lang.String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws java.io.IOException, ServletException
Deprecated.Do the handler work within the scope.Derived implementations should call
nextHandle(String, Request, HttpServletRequest, HttpServletResponse)
- Parameters:
target
- The target of the request - either a URI or a name.baseRequest
- The original unwrapped request object.request
- The request either as theRequest
object or a wrapper of that request. The
method can be used access the Request object if required.HttpConnection.getCurrentConnection()
.getHttpChannel()
.getRequest()
response
- The response as theResponse
object or a wrapper of that request. The
method can be used access the Response object if required.HttpConnection.getCurrentConnection()
.getHttpChannel()
.getResponse()
- Throws:
java.io.IOException
- if unable to handle the request or response processingServletException
- if unable to handle the request or response due to underlying servlet issue
-
nextHandle
public final void nextHandle(java.lang.String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws java.io.IOException, ServletException
Deprecated.- Throws:
java.io.IOException
ServletException
-
-