com.saxonica.schema.fsa

## Class CountingState

- java.lang.Object
- - com.saxonica.schema.fsa.CountingState

- All Implemented Interfaces:
    State, Serializable

      public class CountingState
      extends Object
      implements State

  A counting state is a dynamic object representing the combination of an AutomatonState and a counter value
  See Also:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `CountingState(AutomatonState as, int startFrom)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `equals(Object obj)`
    `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
    `AutomatonState` | `getUnderlyingState()`
    `Edge[]` | `getWildcardEdges()` Get an iterator over the wildcard transitions (edges) allowed from this state.
    `int` | `hashCode()`
    `State` | `incrementCounter()`
    `boolean` | `isFinalState()`
    `CharSequence` | `listAllowedElements()`
    `void` | `testMinimumReached()`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### CountingState

          public CountingState(AutomatonState as,
                       int startFrom)

  - ### Method Detail

    - #### incrementCounter

          public State incrementCounter()
                                 throws ValidationException

      Throws:
        `ValidationException`

    - #### testMinimumReached

          public void testMinimumReached()
                                  throws ValidationException

      Throws:
        `ValidationException`

    - #### getTransition

          public Edge getTransition(int token,
                           UserComplexType type)

      Description copied from interface: `State`
      Find the edge representing the transition from this state to another state, that is triggered by a given input token
      Specified by:
        `getTransition` in interface `State`
      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

          public boolean isFinalState()

      Specified by:
        `isFinalState` in interface `State`

    - #### getUnderlyingState

          public AutomatonState getUnderlyingState()

    - #### listAllowedElements

          public CharSequence listAllowedElements()

      Specified by:
        `listAllowedElements` in interface `State`

    - #### getWildcardEdges

          public Edge[] getWildcardEdges()

      Get an iterator over the wildcard transitions (edges) allowed from this state.
      Specified by:
        `getWildcardEdges` in interface `State`
      Returns:
        an Iterator over the edges that represent element wildcards. The objects returned by this Iterator are `Edge` objects.

    - #### getEdges

          public Iterator<Edge> getEdges()

      Get an iterator over all the transitions (edges) allowed from this state
      Specified by:
        `getEdges` in interface `State`
      Returns:
        an Iterator over all the edges from this state. The objects returned by this Iterator are `Edge` objects.

    - #### equals

          public boolean equals(Object obj)

      Overrides:
        `equals` in class `Object`

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `Object`

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