StateT - The type of state being described.public interface StateSpec<StateT extends State>
extends java.io.Serializable
| Modifier and Type | Interface and Description | 
|---|---|
static interface  | 
StateSpec.Cases<ResultT>
Cases for doing a "switch" on the type of  
StateSpec. | 
| Modifier and Type | Method and Description | 
|---|---|
StateT | 
bind(java.lang.String id,
    StateBinder binder)
For internal use only; no backwards-compatibility guarantees. 
 | 
void | 
finishSpecifying()
For internal use only; no backwards-compatibility guarantees. 
 | 
<ResultT> ResultT | 
match(StateSpec.Cases<ResultT> cases)
For internal use only; no backwards-compatibility guarantees. 
 | 
void | 
offerCoders(Coder[] coders)
For internal use only; no backwards-compatibility guarantees. 
 | 
@Internal StateT bind(java.lang.String id, StateBinder binder)
Use the binder to create an instance of StateT appropriate for this address.
@Internal <ResultT> ResultT match(StateSpec.Cases<ResultT> cases)
Perform case analysis on this StateSpec using the provided StateSpec.Cases.
@Internal void offerCoders(Coder[] coders)
Given {code coders} are inferred from type arguments defined for this class. Coders which are already set should take precedence over offered coders.
coders - Array of coders indexed by the type arguments order. Entries might be null if the
     coder could not be inferred.