Package jadex.commons.future
Class CallSequentializer<T>
- java.lang.Object
- 
- jadex.commons.future.CallSequentializer<T>
 
- 
 public class CallSequentializer<T> extends java.lang.ObjectThe call sequentializer realizes a 'critical region' for async calls, i.e. it sequentializes access to a method. - It uses a command to call the method - It guarantees first come first served method invocation.
- 
- 
Field SummaryFields Modifier and Type Field Description protected java.util.List<Tuple3<java.lang.String,java.lang.Object[],Future<T>>>callsThe list of waiting calls with future and args.protected java.util.Map<java.lang.String,IResultCommand<IFuture<T>,java.lang.Object[]>>commandsThe command to execute a call.protected IFuture<T>currentcallThe current call.
 - 
Constructor SummaryConstructors Constructor Description CallSequentializer()Create a new sequentializer.CallSequentializer(IResultCommand<IFuture<T>,java.lang.Object[]> call)Create a new sequentializer.
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddCommand(java.lang.String method, IResultCommand<IFuture<T>,java.lang.Object[]> call)Add a command by (method) name.IFuture<T>call(java.lang.Object[] args)Handles a call.IFuture<T>call(java.lang.String method, java.lang.Object[] args)protected voidproceed()Called when a command returns.
 
- 
- 
- 
Constructor Detail- 
CallSequentializerpublic CallSequentializer() Create a new sequentializer.
 - 
CallSequentializerpublic CallSequentializer(IResultCommand<IFuture<T>,java.lang.Object[]> call) Create a new sequentializer.- Parameters:
- call- The command to execute on an invocation.
 
 
- 
 - 
Method Detail- 
addCommandpublic void addCommand(java.lang.String method, IResultCommand<IFuture<T>,java.lang.Object[]> call)Add a command by (method) name.- Parameters:
- method- The method name (or just a name).
 
 - 
callpublic IFuture<T> call(java.lang.Object[] args) Handles a call. If no other call is in it will execute the command. If at least one call is in it will be added to the calls list. When a call finishes the next is fetched from the list until empty.- Parameters:
- args- The call args.
- Returns:
- The call result future.
 
 - 
proceedprotected void proceed() Called when a command returns.
 
- 
 
-