cz.cuni.amis.pogamut.base.communication.worldview.event
Class WorldEventFuture<T extends IWorldEvent>

java.lang.Object
  extended by cz.cuni.amis.pogamut.base.communication.worldview.event.WorldEventFuture<T>
All Implemented Interfaces:
java.util.concurrent.Future<T>

public class WorldEventFuture<T extends IWorldEvent>
extends java.lang.Object
implements java.util.concurrent.Future<T>

Use this if you want to wait for first appearance of some IWorldObject with known string ID.


Nested Class Summary
static class WorldEventFuture.WorldEventFutureException
           
 
Constructor Summary
WorldEventFuture(IWorldView worldView, java.lang.Class<T> eventClass)
          Creates new instance of future that waits for the event of given class.
 
Method Summary
 boolean cancel(boolean mayInterruptIfRunning)
           
protected  void customEventEncounteredHook(T obj)
          Utility method for custom handling of the first-encounter event.
 T get()
           
 T get(long timeout, java.util.concurrent.TimeUnit unit)
           
 boolean isCancelled()
           
 boolean isDone()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

WorldEventFuture

public WorldEventFuture(IWorldView worldView,
                        java.lang.Class<T> eventClass)
Creates new instance of future that waits for the event of given class.

Parameters:
worldView - WorldView where the object will appear
eventClass - class of the event we're waiting for
Method Detail

customEventEncounteredHook

protected void customEventEncounteredHook(T obj)
Utility method for custom handling of the first-encounter event.

Parameters:
obj -

cancel

public boolean cancel(boolean mayInterruptIfRunning)
Specified by:
cancel in interface java.util.concurrent.Future<T extends IWorldEvent>

isCancelled

public boolean isCancelled()
Specified by:
isCancelled in interface java.util.concurrent.Future<T extends IWorldEvent>

isDone

public boolean isDone()
Specified by:
isDone in interface java.util.concurrent.Future<T extends IWorldEvent>

get

public T get()
Specified by:
get in interface java.util.concurrent.Future<T extends IWorldEvent>
Returns:
the object that was awaited
Throws:
java.lang.InterruptedException
java.util.concurrent.ExecutionException

get

public T get(long timeout,
             java.util.concurrent.TimeUnit unit)
Specified by:
get in interface java.util.concurrent.Future<T extends IWorldEvent>