public abstract class CancelCriterion
extends java.lang.Object
checkCancelInProgress(Throwable). Generally the pattern is to check
before performing an operation, check if the service is canceled before propgrating
an exception futher up the stack, and check for cancelation inside a long loop.
Eg.
while(true) {
c.checkCancelInProgress(null);
try {
dispatchEvents();
} catch(IOException e) {
c.checkCancelInProgress(e);
throw e;
}
}
CancelException| Constructor and Description |
|---|
CancelCriterion() |
| Modifier and Type | Method and Description |
|---|---|
abstract java.lang.String |
cancelInProgress()
Indicate if the service is in the progress of being cancelled.
|
void |
checkCancelInProgress(java.lang.Throwable e)
See if the current operation is being cancelled.
|
protected java.lang.String |
checkFailure()
Use this utility function in your implementation of cancelInProgress()
and cancelled() to indicate a system failure
|
abstract java.lang.RuntimeException |
generateCancelledException(java.lang.Throwable e)
Template factory method for generating the exception to be thrown by
checkCancelInProgress(Throwable). |
boolean |
isCancelInProgress()
Checks to see if a cancellation is in progress.
|
public abstract java.lang.String cancelInProgress()
InterruptedException,
that the current operation should be cancelled.protected final java.lang.String checkFailure()
public final void checkCancelInProgress(java.lang.Throwable e)
RuntimeException (usually a CancelException).e - an underlying exception or null if there is no exception
that triggered this checkcancelInProgress()public abstract java.lang.RuntimeException generateCancelledException(java.lang.Throwable e)
checkCancelInProgress(Throwable). Override this to specify
different exception for checkCancelInProgress() to throw.
This method should wrap the exception in a service specific
CancelationException (eg CacheClosedException).
or return null if the service is not being canceled.e - an underlying exception, if anypublic boolean isCancelInProgress()