## gate.fsm
Class State

    java.lang.Object
      |
      +--gate.fsm.State

All Implemented Interfaces:
  JapeConstants, Serializable

public class State
extends Object
implements JapeConstants

This class implements a Finite State Machine state.

See Also:
  Serialized Form

Field Summary
`protected RightHandSide` `action` The right hand side associated to the rule for which this state recognizes the lhs.
`private static boolean` `DEBUG` Debug flag
`protected int` `fileIndex` The index in the definition file of the rule that was used for creating this state.
`protected static int` `index` The class data member used for generating unique indices for State instances.
`protected boolean` `isFinal` Is this state a final one?
`protected int` `myIndex` The unique index of this state.
`protected int` `priority` The priority of the rule from which this state derived.
`private SimpleArraySet` `transitions` A set of objects of type gata.fsm.Transition representing the outgoing transitions.

Fields inherited from interface gate.jape.JapeConstants
`APPELT_STYLE, BRILL_STYLE, DEFAULT_PRIORITY, FIRST_STYLE, INDENT_PADDING, KLEENE_PLUS, KLEENE_QUERY, KLEENE_STAR, MULTI_SPAN_BINDING, NO_BINDING, NO_KLEENE_OP, SINGLE_SPAN_BINDING`

Constructor Summary
`State()` Build a new state.

Method Summary
`void` `addTransition(Transition transition)` Adds a new transition to the list of outgoing transitions for this state.
`RightHandSide` `getAction()` Gets the action associated to this state.
`String` `getEdgesGML()` Returns a GML (graph modelling language) representation for the edges corresponding to transitions departing from this state in the transition graph of the FSM to which this state belongs
`(package private) int` `getFileIndex()` Returns the index in the definition file of the rule that generated this state.
`protected int` `getIndex()` Gets the index of this state.
`(package private) int` `getPriority()` Returns the priority in the definition file of the rule that generated this state.
`SimpleArraySet` `getTransitions()` Gets the set of transitions for this state.
`boolean` `isFinal()` Reports if this state is a final one.
`protected void` `setAction(RightHandSide rhs)` Sets the action associated to this FINAL state.
`protected void` `setFileIndex(int i)` Sets the value for fileIndex.
`protected void` `setPriority(int i)` Sets the value for priority.
`String` `toString()` Returns a textual description of this state

Methods inherited from class java.lang.Object
`<clinit>, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, wait, wait, wait`

Field Detail

### DEBUG

    private static final boolean DEBUG

  Debug flag

### transitions

    private SimpleArraySet transitions

  A set of objects of type gata.fsm.Transition representing the outgoing transitions.

### isFinal

    protected boolean isFinal

  Is this state a final one?

### action

    protected RightHandSide action

  The right hand side associated to the rule for which this state recognizes the lhs.

### myIndex

    protected int myIndex

  The unique index of this state.

### index

    protected static int index

  The class data member used for generating unique indices for State instances.

### fileIndex

    protected int fileIndex

  The index in the definition file of the rule that was used for creating this state. NOTE: this member is consistent only for FINAL STATES!

### priority

    protected int priority

  The priority of the rule from which this state derived.

Constructor Detail

### State

    public State()

  Build a new state.
  Parameters:
    `owner` - the FSM that owns this state.

Method Detail

### isFinal

    public boolean isFinal()

  Reports if this state is a final one. Note: A state has an associated action if and only if it is final.

### getTransitions

    public SimpleArraySet getTransitions()

  Gets the set of transitions for this state.
  Returns:
    a Set contining objects of type gate.fsm.Transition

### setAction

    protected void setAction(RightHandSide rhs)

  Sets the action associated to this FINAL state. An action is actually a gate.jape.RightHandSide object. NOTE: only a final state has an associated action so after a call to this method this state will be a final one.

### setFileIndex

    protected void setFileIndex(int i)

  Sets the value for fileIndex. File index is the index in the jape definition file of the rule that contains as right hand side the action associated to this state. This value is only intended for final states.

### setPriority

    protected void setPriority(int i)

  Sets the value for priority. Priority is the priority in the jape definition file of the rule that contains as right hand side the action associated to this state. This value is only intended for final states.

### getAction

    public RightHandSide getAction()

  Gets the action associated to this state.
  Returns:
    a RightHandSide object

### getFileIndex

    int getFileIndex()

  Returns the index in the definition file of the rule that generated this state. The value for fileIndex is correct only on final states!

### getPriority

    int getPriority()

  Returns the priority in the definition file of the rule that generated this state. This value is correct only on final states!

### addTransition

    public void addTransition(Transition transition)

  Adds a new transition to the list of outgoing transitions for this state.
  Parameters:
    `transition` - the transition to be added

### getIndex

    protected int getIndex()

  Gets the index of this state. Each state has a unique index (a int value). This value is not actually used by any of the algorithms. It is useful only as a way of refering to states in string representations so it is used by toString and GML related methods.
  Returns:
    the index associated to this state

### getEdgesGML

    public String getEdgesGML()

  Returns a GML (graph modelling language) representation for the edges corresponding to transitions departing from this state in the transition graph of the FSM to which this state belongs
  Returns:
    a string value contining the GML text

### toString

    public String toString()

  Returns a textual description of this state
  Overrides:
    `toString` in class `Object`
  Returns:
    a String value.