mandala.rami
Interface AsynchronousReferencePair

All Superinterfaces:
AsynchronousReference, Reference
All Known Implementing Classes:
AsynchronousReferencePairImpl

public interface AsynchronousReferencePair
extends AsynchronousReference

An AsynchronousReferencePair is an asynchronous reference wich represents a pair of asynchronous references.

The pair (head, tail) is inspired by Lisp list : (car.cdr).

The head must be an asynchronous reference on tail while tail must be an asynchronous reference on any object (including another AsynchronousReference).

The getObject() must return the object returned by getTail().getObject().

Implementation must give to the call() method of an IndirectAsynchronousReference a semantic equivalent to an asynchronous method invocation on the object returned by getObject().

A list of asynchronous references can be composed using AsynchronousReferencePair to chain them as in the following example :
given the following notation :
ARP : AsynchronousReferencePair, AR : AsynchronousReference
the following list of AsynchronousReference on an object O noted : (AR, AR, AR)(O) is made of (AR, (AR, AR))(O) where the tail of (AR, (AR, AR)) is (AR, AR). In fact, such an object is constructed with the AsynchronousReferencePair : ARP(AR(ARP(AR(AR(O))))).

Since:
1.0
Version:
1.0
Author:
eipi
See Also:
AsynchronousReference

Nested Class Summary
static class AsynchronousReferencePair.CallReflection
          Reflection of the AsynchronousReference.call(MethodOp, Object[]) method.
 
Method Summary
 AsynchronousReference getHead()
          Returns the head of this asynchronous reference pair.
 AsynchronousReference getTail()
          Returns the tail of this asynchronous reference pair.
 
Methods inherited from interface mandala.rami.AsynchronousReference
call, call, getCallbackManager
 
Methods inherited from interface mandala.rami.Reference
getObject
 

Method Detail

getHead

public AsynchronousReference getHead()

Returns the head of this asynchronous reference pair.

Returns:
Returns the head of this asynchronous reference pair

getTail

public AsynchronousReference getTail()

Returns the tail of this asynchronous reference pair.

Returns:
Returns the tail of this asynchronous reference pair


Mandala help mailing list