Package com.saxonica.ee.schema.fsa
Class CountingState
- java.lang.Object
-
- com.saxonica.ee.schema.fsa.CountingState
-
-
Constructor Summary
Constructors Constructor Description CountingState(AutomatonState as, int startFrom)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(java.lang.Object obj)
java.util.Iterator<Edge>
getEdges()
Get an iterator over all the transitions (edges) allowed from this stateEdge
getTransition(int token, UserComplexType type)
Find the edge representing the transition from this state to another state, that is triggered by a given input tokenAutomatonState
getUnderlyingState()
Edge[]
getWildcardEdges()
Get an iterator over the wildcard transitions (edges) allowed from this state.int
hashCode()
State
incrementCounter()
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 machinejava.lang.CharSequence
listAllowedElements()
Construct a human-readable message explaining what elements are permitted as transitions from this statevoid
testMinimumReached()
-
-
-
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 interfaceState
- Parameters:
token
- the input token, specifically the fingerprint of an element nametype
- 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()
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 interfaceState
- Returns:
- true if this is a valid final state
-
getUnderlyingState
public AutomatonState getUnderlyingState()
-
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 interfaceState
- Returns:
- A message indicating what elements may come next
-
getWildcardEdges
public Edge[] getWildcardEdges()
Get an iterator over the wildcard transitions (edges) allowed from this state.- Specified by:
getWildcardEdges
in interfaceState
- Returns:
- an Iterator over the edges that represent element wildcards. The objects
returned by this Iterator are
Edge
objects.
-
getEdges
public java.util.Iterator<Edge> getEdges()
Get an iterator over all the transitions (edges) allowed from this state
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
-