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.