## com.saxonica.schema.fsa
Interface State

All Superinterfaces:
  Serializable

All Known Implementing Classes:
  AutomatonState, CountingState, DeterminizedState, NonDeterminizedState, SuffixState

    public interface State

extends Serializable

A State is a dynamic state of the finite state machine. It may either be a static (non-counting) AutomatonState, or a dynamically-created CountingState, which represents the combination of an AutomatonState and a counter value

Method Summary
`Iterator<Edge>` `getEdges()` Get an iterator over all the transitions (edges) allowed from this state
`Edge` `getTransition(int token, UserComplexType type)` Find the edge representing the transition from this state to another state, that is triggered by a given input token
`Edge[]` `getWildcardEdges()` Get an array of the wildcard transitions (edges) allowed from this state.
`boolean` `isFinalState()`
`CharSequence` `listAllowedElements()`

Method Detail

### getTransition

    Edge getTransition(int token,
                       UserComplexType type)

  Find the edge representing the transition from this state to another state, that is triggered by a given input token

  Parameters:
    `token` - the input token, specifically the fingerprint of an element name
    `type` - the complex type whose content model we are validating against
  Returns:
    the Edge representing the selected transition of the finite state machine, or null if this token is not accepted when in this State (which implies a validation error).

### isFinalState

    boolean isFinalState()

### listAllowedElements

    CharSequence listAllowedElements()

### getWildcardEdges

    Edge[] getWildcardEdges()

  Get an array of the wildcard transitions (edges) allowed from this state.

  Returns:
    an array containing all the edges that represent element wildcards.

### getEdges

    Iterator<Edge> getEdges()

  Get an iterator over all the transitions (edges) allowed from this state

  Returns:
    an Iterator over all the edges from this state. The objects returned by this Iterator are `Edge` objects.

Copyright (c) 2004-2010 Saxonica Limited. All rights reserved.