Class SuffixState

java.lang.Object
com.saxonica.ee.schema.fsa.SuffixState
All Implemented Interfaces:
State

public class SuffixState extends Object implements State
The state of a finite state machine that is processing "suffix" open content. In this state no terms from the original content model are accepted.
  • Method Details

    • getInstance

      public static SuffixState getInstance()
    • getTransition

      public 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
      Specified by:
      getTransition in interface State
      Parameters:
      token - the input token, specifically the fingerprint of an element name
      type - the complex type 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()
      Description copied from interface: State
      Ask whether this state is a valid final state, that is, no further transitions are needed to complete a successful path through the finite state machine
      Specified by:
      isFinalState in interface State
      Returns:
      true if this is a valid final state
    • listAllowedElements

      public CharSequence listAllowedElements()
      Description copied from interface: State
      Construct a human-readable message explaining what elements are permitted as transitions from this state
      Specified by:
      listAllowedElements in interface State
      Returns:
      A message indicating what elements may come next
    • getWildcardEdges

      public Edge[] getWildcardEdges()
      Get all the wildcard transitions (edges) allowed from this state.
      Specified by:
      getWildcardEdges in interface State
      Returns:
      an array of the edges that represent element wildcards. The objects returned by this Iterator are Edge objects.
    • getEdges

      public Iterable<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.