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

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `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-2013 Saxonica Limited. All rights reserved.