Package cn.sliew.milky.concurrent
Interface ProgressivePromise<V>
-
- All Superinterfaces:
Future<V>,Future,ProgressiveFuture<V>,Promise<V>
- All Known Implementing Classes:
DefaultProgressivePromise
public interface ProgressivePromise<V> extends Promise<V>, ProgressiveFuture<V>
SpecialProgressiveFuturewhich is writable.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description ProgressivePromise<V>addListener(FutureListener<? extends Future<? super V>> listener)Adds the specified listener to this future.ProgressivePromise<V>await()Waits for this future to be completed.ProgressivePromise<V>removeListener(FutureListener<? extends Future<? super V>> listener)Removes the first occurrence of the specified listener from this future.ProgressivePromise<V>setFailure(Throwable cause)Marks this future as a failure and notifies all listeners.ProgressivePromise<V>setProgress(long progress, long total)Sets the current progress of the operation and notifies the listeners that implementProgressiveFutureListener.ProgressivePromise<V>setSuccess(V result)Marks this future as a success and notifies all listeners.ProgressivePromise<V>sync()Waits for this future until it is done, and rethrows the cause of the failure if this future failed.booleantryProgress(long progress, long total)Tries to set the current progress of the operation and notifies the listeners that implementProgressiveFutureListener.-
Methods inherited from interface cn.sliew.milky.concurrent.Promise
tryFailure, trySuccess
-
-
-
-
Method Detail
-
setProgress
ProgressivePromise<V> setProgress(long progress, long total)
Sets the current progress of the operation and notifies the listeners that implementProgressiveFutureListener.
-
tryProgress
boolean tryProgress(long progress, long total)Tries to set the current progress of the operation and notifies the listeners that implementProgressiveFutureListener. If the operation is already complete or the progress is out of range, this method does nothing but returningfalse.
-
setSuccess
ProgressivePromise<V> setSuccess(V result)
Description copied from interface:PromiseMarks this future as a success and notifies all listeners.If it is success or failed already it will throw an
IllegalStateException.- Specified by:
setSuccessin interfacePromise<V>
-
setFailure
ProgressivePromise<V> setFailure(Throwable cause)
Description copied from interface:PromiseMarks this future as a failure and notifies all listeners.If it is success or failed already it will throw an
IllegalStateException.- Specified by:
setFailurein interfacePromise<V>
-
addListener
ProgressivePromise<V> addListener(FutureListener<? extends Future<? super V>> listener)
Description copied from interface:FutureAdds the specified listener to this future. The specified listener is notified when this future is done. If this future is already completed, the specified listener is notified immediately.- Specified by:
addListenerin interfaceFuture<V>- Specified by:
addListenerin interfaceProgressiveFuture<V>- Specified by:
addListenerin interfacePromise<V>
-
removeListener
ProgressivePromise<V> removeListener(FutureListener<? extends Future<? super V>> listener)
Description copied from interface:FutureRemoves the first occurrence of the specified listener from this future. The specified listener is no longer notified when this future is done. If the specified listener is not associated with this future, this method does nothing and returns silently.- Specified by:
removeListenerin interfaceFuture<V>- Specified by:
removeListenerin interfaceProgressiveFuture<V>- Specified by:
removeListenerin interfacePromise<V>
-
sync
ProgressivePromise<V> sync() throws InterruptedException
Description copied from interface:FutureWaits for this future until it is done, and rethrows the cause of the failure if this future failed.- Specified by:
syncin interfaceFuture<V>- Specified by:
syncin interfaceProgressiveFuture<V>- Specified by:
syncin interfacePromise<V>- Throws:
InterruptedException
-
await
ProgressivePromise<V> await() throws InterruptedException
Description copied from interface:FutureWaits for this future to be completed.- Specified by:
awaitin interfaceFuture<V>- Specified by:
awaitin interfaceProgressiveFuture<V>- Specified by:
awaitin interfacePromise<V>- Throws:
InterruptedException- if the current thread was interrupted
-
-