extvisitor
Interface IExtVisitor<R,I,P,H extends IExtVisitorHost<I,? super H>>

Type Parameters:
R - The type of the return value
I - The type of the index value
P - The type of the input parameters
H - The type of the host, restricted to being a subclass of IExtVisitorHost<I, H>
All Superinterfaces:
java.io.Serializable
All Known Implementing Classes:
AExtVisitor, DataPacketAlgo, StatusAlgo

public interface IExtVisitor<R,I,P,H extends IExtVisitorHost<I,? super H>>
extends java.io.Serializable

Interface that defines an extended visitor that has specific types for its return value, R, its index value, I, its input parameters, P, and its host, H. The host is restricted to being a subclass of IExtVisitorHost who takes the same index value and who accepts a visitor that takes this same host type.

Author:
Stephen Wong (c) 2010

Method Summary
<T extends IExtVisitorHost<I,? super H>>
R
caseAt(I idx, T host, P... params)
          The parameterized case of the visitor.
 

Method Detail

caseAt

<T extends IExtVisitorHost<I,? super H>> R caseAt(I idx,
                                                  T host,
                                                  P... params)
The parameterized case of the visitor. The case is parameterized by the index value, idx.

Type Parameters:
T - The type of the host the is expected to call this method. T is restricted to be a subclass of IExtVisitorHost<I, ? super H>
Parameters:
idx - The index value for the desired case
host - The host for the visitor
params - Vararg input parameters
Returns:
The value returned by the running the indexed case.