| 
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectnet.tomp2p.futures.BaseFutureImpl<K>
K - The class that extends BaseFuture and is used to return back the type for method calls. E.g, if K is
            FutureDHT await() returns FutureDHT.public abstract class BaseFutureImpl<K extends BaseFuture>
The base for all BaseFuture implementations. Be aware of possible deadlocks. Never await from a listener. This class is heavily inspired by MINA and Netty.
| Nested Class Summary | 
|---|
| Nested classes/interfaces inherited from interface net.tomp2p.futures.BaseFuture | 
|---|
BaseFuture.FutureType | 
| Field Summary | |
|---|---|
protected  boolean | 
completed
 | 
protected  Object | 
lock
 | 
protected  String | 
reason
 | 
protected  BaseFuture.FutureType | 
type
 | 
| Constructor Summary | |
|---|---|
BaseFutureImpl()
Default constructor that sets the lock object, which is used for synchronization to this instance.  | 
|
| Method Summary | |
|---|---|
 K | 
addCancellation(Cancellable cancellable)
Adds a cancel listener to this future, which is called when cancel is executed.  | 
 K | 
addListener(BaseFutureListener<? extends BaseFuture> listener)
Adds a listener which is notified when the state of this future changes.  | 
 K | 
addListener(BaseFutureListener<? extends BaseFuture> listener,
            boolean last)
Adds a listener which is notified when the state of this future changes.  | 
 K | 
await()
Wait for the asynchronous operation to end.  | 
 boolean | 
await(long timeoutMillis)
Wait for the asynchronous operation to end with the specified timeout.  | 
 K | 
awaitListeners()
Waits until all the listener finished.  | 
 K | 
awaitUninterruptibly()
Wait for the asynchronous operation to end without interruption.  | 
 boolean | 
awaitUninterruptibly(long timeoutMillis)
Wait for the asynchronous operation to end with the specified timeout without interruption.  | 
 void | 
cancel()
This method gets called if a future is cancelled.  | 
 String | 
getFailedReason()
The default failed reason is Unknown.  | 
 BaseFuture.FutureType | 
getType()
If the type is not OK, then something unexpected happened.  | 
 boolean | 
isCompleted()
Checks if the asynchronous operation is finished.  | 
 boolean | 
isFailed()
Checks if operation has failed.  | 
 boolean | 
isSuccess()
Returns the opposite of isFailed (returns !isFailed).  | 
protected  void | 
notifyListerenrs()
Always call this from outside synchronized(lock)!  | 
 K | 
removeListener(BaseFutureListener<? extends BaseFuture> listener)
Removes a listener which is notified when the state of this future changes.  | 
protected  void | 
self(K self2)
 | 
protected  boolean | 
setCompletedAndNotify()
Make sure that the calling method has synchronized (lock)  | 
 K | 
setFailed(BaseFuture origin)
Sets the failed flat to true and the completed flag to true.  | 
 K | 
setFailed(String failed)
Sets the failed flat to true and the completed flag to true.  | 
 K | 
setFailed(String failed,
          BaseFuture origin)
Sets the failed flat to true and the completed flag to true.  | 
 K | 
setFailed(String failed,
          Throwable t)
Sets the failed flat to true and the completed flag to true.  | 
 K | 
setFailed(Throwable t)
Sets the failed flat to true and the completed flag to true.  | 
| Methods inherited from class java.lang.Object | 
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| Field Detail | 
|---|
protected final Object lock
protected boolean completed
protected BaseFuture.FutureType type
protected String reason
| Constructor Detail | 
|---|
public BaseFutureImpl()
| Method Detail | 
|---|
protected void self(K self2)
self2 - Set the type so that we are able to return it to the user. This is for making the API much more
            usable.
public K await()
                           throws InterruptedException
BaseFuture
await in interface BaseFutureInterruptedException - if thread is interruptedpublic K awaitUninterruptibly()
BaseFuture
awaitUninterruptibly in interface BaseFuture
public boolean await(long timeoutMillis)
              throws InterruptedException
BaseFuture
await in interface BaseFuturetimeoutMillis - time to wait at most
InterruptedException - if thread is interruptedpublic boolean awaitUninterruptibly(long timeoutMillis)
BaseFuture
awaitUninterruptibly in interface BaseFuturetimeoutMillis - to wait at most
public boolean isCompleted()
BaseFuture
isCompleted in interface BaseFuturepublic boolean isSuccess()
BaseFuture
isSuccess in interface BaseFuturepublic boolean isFailed()
BaseFuture
isFailed in interface BaseFuturepublic K setFailed(BaseFuture origin)
BaseFuture
setFailed in interface BaseFutureorigin - The origin of failure
public K setFailed(String failed,
                   BaseFuture origin)
BaseFuture
setFailed in interface BaseFuturefailed - The reason of failureorigin - The origin of failure
public K setFailed(Throwable t)
BaseFuture
setFailed in interface BaseFuturet - The stack trace where the failure happened
public K setFailed(String failed,
                   Throwable t)
BaseFuture
setFailed in interface BaseFuturefailed - The reason of failuret - The stack trace where the failure happened
public K setFailed(String failed)
BaseFuture
setFailed in interface BaseFuturefailed - The reason of failure
public String getFailedReason()
BaseFuture
getFailedReason in interface BaseFuturepublic BaseFuture.FutureType getType()
BaseFuture
getType in interface BaseFutureprotected boolean setCompletedAndNotify()
public K awaitListeners()
                                    throws InterruptedException
BaseFuture
awaitListeners in interface BaseFutureInterruptedException - If interrupted from outsidepublic K addListener(BaseFutureListener<? extends BaseFuture> listener)
BaseFuture
addListener in interface BaseFuturelistener - The listener extends the BaseFuture
public K addListener(BaseFutureListener<? extends BaseFuture> listener,
                     boolean last)
BaseFuture
addListener in interface BaseFuturelistener - The listener extends the BaseFuturelast - Set to true if the listener should be added at the end of the list, true if it should be added first
protected void notifyListerenrs()
public K removeListener(BaseFutureListener<? extends BaseFuture> listener)
BaseFuture
removeListener in interface BaseFuturelistener - The listener extends the BaseFuture
public K addCancellation(Cancellable cancellable)
BaseFuture
addCancellation in interface BaseFuturecancellable - A cancellable class
public void cancel()
Cancellable
cancel in interface Cancellable
  | 
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||