Class SuffixState

  • All Implemented Interfaces:
    State

    public class SuffixState
    extends java.lang.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 Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.Iterable<Edge> getEdges()
      Get an iterator over all the transitions (edges) allowed from this state
      static SuffixState getInstance()  
      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 all the wildcard transitions (edges) allowed from this state.
      boolean isFinalState()
      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
      java.lang.CharSequence listAllowedElements()
      Construct a human-readable message explaining what elements are permitted as transitions from this state
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • 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 java.lang.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 java.lang.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.