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 voidabortResponse(Packet response)Indicates that the next action is to abort the processResponse chain because of some non-exception condition.StringgetKindString()Returnskindin a human readable string, to assist debugging.TubegetNext()Returns the next tubePacketgetPacket()Returns the last PacketThrowablegetThrowable()Returns the Throwable generated by the last Tubevoidinvoke(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.voidinvokeAndForget(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).voidinvokeAsync(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.voidreturnWith(Packet response)Indicates that the next action is to flip the processing direction and starts response processing.voidsetNext(Tube next)Sets the next tubevoidsuspend()Deprecated.Use variants that passRunnablevoidsuspend(Tube next)Deprecated.Use variants that passRunnablevoidsuspend(Tube next, Runnable onExitRunnable)Indicates that the fiber should be suspended.voidsuspend(Runnable onExitRunnable)Indicates that the fiber should be suspended.voidthrowException(Packet response, Throwable t)Indicates that the next action is to flip the processing direction and starts exception processing, but with the indicated context.voidthrowException(Throwable t)Indicates that the next action is to flip the processing direction and starts exception processing.voidthrowExceptionAbortResponse(Throwable t)Indicates that the next action is to abort the processResponse chain because of an exception.StringtoString()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- EitherRuntimeExceptionorError, but defined to takeThrowablebecauseTube.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- EitherRuntimeExceptionorError, but defined to takeThrowablebecauseTube.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- EitherRuntimeExceptionorError
-
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 passRunnableIndicates 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 currentThreadexits the fiber's control loop, the onExitRunnable will be invoked. ThisRunnablemay callFiber.resume(Packet); however it is still guaranteed that the current Thread will return control, therefore, further processing will be handled on aThreadfrom 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 passRunnableIndicates 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 currentThreadexits the fiber's control loop, the onExitRunnable will be invoked. ThisRunnablemay callFiber.resume(Packet); however it is still guaranteed that the current fiber will return control, therefore, further processing will be handled on aThreadfrom 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.
-
-