Package com.sun.xml.ws.api.pipe
Class NextAction
- java.lang.Object
-
- com.sun.xml.ws.api.pipe.NextAction
-
public final class NextAction extends Object
Indicates what shall happen afterTube.processRequest(Packet)
orTube.processResponse(Packet)
returns.To allow reuse of this object, this class is mutable.
- Author:
- Kohsuke Kawaguchi
-
-
Constructor Summary
Constructors Constructor Description NextAction()
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
abortResponse(Packet response)
Indicates that the next action is to abort the processResponse chain because of some non-exception condition.String
getKindString()
Returnskind
in a human readable string, to assist debugging.Tube
getNext()
Returns the next tubePacket
getPacket()
Returns the last PacketThrowable
getThrowable()
Returns the Throwable generated by the last Tubevoid
invoke(Tube next, Packet p)
Indicates that the next action should be to invoke the next tube'sTube.processRequest(Packet)
, then later invoke the current tube'sTube.processResponse(Packet)
with the response packet.void
invokeAndForget(Tube next, Packet p)
Indicates that the next action should be to invoke the next tube'sTube.processRequest(Packet)
, but the current tube doesn't want to receive the response packet to itsTube.processResponse(Packet)
.void
invokeAsync(Tube next, Packet p)
Indicates that the next action is to invoke the next tube in the tubeline async from the thread that started the tubeline.void
returnWith(Packet response)
Indicates that the next action is to flip the processing direction and starts response processing.void
setNext(Tube next)
Sets the next tubevoid
suspend()
Deprecated.Use variants that passRunnable
void
suspend(Tube next)
Deprecated.Use variants that passRunnable
void
suspend(Tube next, Runnable onExitRunnable)
Indicates that the fiber should be suspended.void
suspend(Runnable onExitRunnable)
Indicates that the fiber should be suspended.void
throwException(Packet response, Throwable t)
Indicates that the next action is to flip the processing direction and starts exception processing, but with the indicated context.void
throwException(Throwable t)
Indicates that the next action is to flip the processing direction and starts exception processing.void
throwExceptionAbortResponse(Throwable t)
Indicates that the next action is to abort the processResponse chain because of an exception.String
toString()
Dumps the contents to assist debugging.
-
-
-
Method Detail
-
invoke
public void invoke(Tube next, Packet p)
Indicates that the next action should be to invoke the next tube'sTube.processRequest(Packet)
, then later invoke the current tube'sTube.processResponse(Packet)
with the response packet.
-
invokeAndForget
public void invokeAndForget(Tube next, Packet p)
Indicates that the next action should be to invoke the next tube'sTube.processRequest(Packet)
, but the current tube doesn't want to receive the response packet to itsTube.processResponse(Packet)
.
-
returnWith
public void returnWith(Packet response)
Indicates that the next action is to flip the processing direction and starts response processing.
-
throwException
public void throwException(Packet response, Throwable t)
Indicates that the next action is to flip the processing direction and starts exception processing, but with the indicated context.- Parameters:
t
- EitherRuntimeException
orError
, but defined to takeThrowable
becauseTube.processException(Throwable)
takesThrowable
.
-
throwException
public void throwException(Throwable t)
Indicates that the next action is to flip the processing direction and starts exception processing.- Parameters:
t
- EitherRuntimeException
orError
, but defined to takeThrowable
becauseTube.processException(Throwable)
takesThrowable
.
-
throwExceptionAbortResponse
public void throwExceptionAbortResponse(Throwable t)
Indicates that the next action is to abort the processResponse chain because of an exception. How that exception is processed is not defined.- Parameters:
t
- EitherRuntimeException
orError
-
abortResponse
public void abortResponse(Packet response)
Indicates that the next action is to abort the processResponse chain because of some non-exception condition.- Parameters:
response
- The response that is being aborted
-
invokeAsync
public void invokeAsync(Tube next, Packet p)
Indicates that the next action is to invoke the next tube in the tubeline async from the thread that started the tubeline. Only fibers that were started using startSync should use this next action kind.- Parameters:
next
- The next tube in the tubelinep
- The request to pass to the next tube
-
suspend
public void suspend()
Deprecated.Use variants that passRunnable
Indicates that the fiber should be suspended. Onceresumed
, return the response processing.
-
suspend
public void suspend(Runnable onExitRunnable)
Indicates that the fiber should be suspended. Once the currentThread
exits the fiber's control loop, the onExitRunnable will be invoked. ThisRunnable
may callFiber.resume(Packet)
; however it is still guaranteed that the current Thread will return control, therefore, further processing will be handled on aThread
from theExecutor
. For synchronous cases, the Thread invoking this fiber cannot return until fiber processing is complete; therefore, the guarantee is only that the onExitRunnable will be invoked prior to completing the suspension.- Since:
- 2.2.7
-
suspend
public void suspend(Tube next)
Deprecated.Use variants that passRunnable
Indicates that the fiber should be suspended. Onceresumed
, resume with theTube.processRequest(Packet)
on the given next tube.
-
suspend
public void suspend(Tube next, Runnable onExitRunnable)
Indicates that the fiber should be suspended. Once the currentThread
exits the fiber's control loop, the onExitRunnable will be invoked. ThisRunnable
may callFiber.resume(Packet)
; however it is still guaranteed that the current fiber will return control, therefore, further processing will be handled on aThread
from theExecutor
. For synchronous cases, the Thread invoking this fiber cannot return until fiber processing is complete; therefore, the guarantee is only that the onExitRunnable will be invoked prior to completing the suspension.Once
resumed
, resume with theTube.processRequest(Packet)
on the given next tube.- Since:
- 2.2.7
-
getNext
public Tube getNext()
Returns the next tube- Returns:
- Next tube
-
setNext
public void setNext(Tube next)
Sets the next tube- Parameters:
next
- Next tube
-
getPacket
public Packet getPacket()
Returns the last Packet- Returns:
- Packet
-
getThrowable
public Throwable getThrowable()
Returns the Throwable generated by the last Tube- Returns:
- the Throwable
-
toString
public String toString()
Dumps the contents to assist debugging.
-
-