relaxngcc.automaton

## Class State

- java.lang.Object
- - relaxngcc.automaton.State

All Implemented Interfaces:
  java.lang.Comparable

    public final class State
    extends java.lang.Object
    implements java.lang.Comparable

A State object has zero or more Transition objects

### Field Summary

Fields
`Pattern` `_locationHint` Pattern from which this state was created.

### Constructor Summary

Constructors
Constructor and Description
`State(ScopeInfo container, int index, Pattern location)`

### Method Summary

Methods
`void` `addActionOnExit(ScopeInfo.Action act)`
`void` `addActionsOnExit(ScopeInfo.Action[] act)`
`void` `addTransition(Transition t)`
`java.util.Set` `AFollow()`
`java.util.Set` `attHead()` Computes ATTHEAD set of this state and returns them in a sorted order.
`void` `calcAFOLLOW()` Computes AFOLLOW from this state.
`int` `compareTo(java.lang.Object obj)`
`Transition` `findTransition(Alphabet a)` finds a transition invoked by the passed alphabet
`ScopeInfo.Action[]` `getActionsOnExit()`
`ScopeInfo` `getContainer()`
`int` `getIndex()`
`State[]` `getReachableStates()` Gets all the states reachable from this state.
`boolean` `hasTransition(int alphabetTypes)` Checks if this state has transitions with at least one of given types of alphabets.
`java.util.Set` `head(boolean includeEE)` Computes HEAD set of this state.
`boolean` `isAcceptable()`
`java.util.Iterator` `iterateTransitions()`
`java.util.Iterator` `iterateTransitions(int alphabetTypes)` Iterate transitions with specified alphabets.
`void` `mergeTransitions(State s)`
`void` `mergeTransitions(State s, ScopeInfo.Action action)` For all the transitions leaving from the specified state, add it to this state by appending the specified action (possibly null) at the head of its prologue actions.
`void` `outputActionsOnExit(CDBlock sv)` Gets the code to invoke exit-actions.
`void` `removeTransition(Transition t)`
`void` `setAcceptable(boolean newvalue)`

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

`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### _locationHint

    public final Pattern _locationHint

Pattern from which this state was created.

### Constructor Detail

#### State

    public State(ScopeInfo container,
         int index,
         Pattern location)

Parameters:
  `location` - Indicates the pattern object from which this state is created.

### Method Detail

#### setAcceptable

    public void setAcceptable(boolean newvalue)

#### isAcceptable

    public boolean isAcceptable()

#### getActionsOnExit

    public ScopeInfo.Action[] getActionsOnExit()

#### outputActionsOnExit

    public void outputActionsOnExit(CDBlock sv)

Gets the code to invoke exit-actions.

#### addActionOnExit

    public void addActionOnExit(ScopeInfo.Action act)

#### addActionsOnExit

    public void addActionsOnExit(ScopeInfo.Action[] act)

#### getContainer

    public ScopeInfo getContainer()

#### getIndex

    public int getIndex()

#### addTransition

    public void addTransition(Transition t)

#### removeTransition

    public void removeTransition(Transition t)

#### iterateTransitions

    public java.util.Iterator iterateTransitions()

#### hasTransition

    public boolean hasTransition(int alphabetTypes)

Checks if this state has transitions with at least one of given types of alphabets.

Parameters:
  `alphabetTypes` - OR-ed combination of alphabet types you want to iterate.

#### iterateTransitions

    public java.util.Iterator iterateTransitions(int alphabetTypes)

Iterate transitions with specified alphabets.

Parameters:
  `alphabetTypes` - OR-ed combination of alphabet types you want to iterate.

#### compareTo

    public int compareTo(java.lang.Object obj)

Specified by:
  `compareTo` in interface `java.lang.Comparable`

#### mergeTransitions

    public void mergeTransitions(State s)

#### mergeTransitions

    public void mergeTransitions(State s,
                        ScopeInfo.Action action)

For all the transitions leaving from the specified state, add it to this state by appending the specified action (possibly null) at the head of its prologue actions.

#### findTransition

    public Transition findTransition(Alphabet a)

finds a transition invoked by the passed alphabet

#### getReachableStates

    public State[] getReachableStates()

Gets all the states reachable from this state.

#### head

    public java.util.Set head(boolean includeEE)

Computes HEAD set of this state. See `Head` for the definition.

#### attHead

    public java.util.Set attHead()

Computes ATTHEAD set of this state and returns them in a sorted order. See `HEAD` for the definition.

#### AFollow

    public java.util.Set AFollow()

#### calcAFOLLOW

    public void calcAFOLLOW()

Computes AFOLLOW from this state.