## gate.fsm
Class Transition

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

All Implemented Interfaces:
  Comparable, Serializable

public class Transition
extends Object
implements Serializable, Comparable

This class implements a Finite State Machine transition. A transition is owned by a gate.fsm.State object and contains set of restrictions and a reference to the next state that will be accessed after consuming a set of input symbols according to the restrictions. A transition can also hold information about the label that should be bound to the symbols (annotations) consumed during the state transition.

See Also:
  Serialized Form

Field Summary
`private LinkedList` `bindings` A list with all the labels associated to the annotations recognized by this transition.
`private BasicPatternElement` `constraints` The constraints on this transition.
`private static boolean` `DEBUG` Debug flag
`private static int` `index` Static member used for generating unique IDs for the objects of type Transition
`private int` `myIndex` The unique index of this transition.
`private State` `target` The state this transition leads to

Constructor Summary
`Transition()` Default constructor.
`Transition(BasicPatternElement constraints, State state)` Creates a new transition using the given set of constraints and target state.
`Transition(BasicPatternElement constraints, State state, LinkedList bindings)` Ctreates a new transition from a set of constraints, a target state and a list of labels to be bound with the recognized input symbols (aka annotations).

Method Summary
`int` `compareTo(Object o)`
`LinkedList` `getBindings()` Returns the list of bindings associated to this transition
`BasicPatternElement` `getConstraints()` Gets the constraints associated to this transition
`State` `getTarget()` Gets the target state of this transition
`String` `shortDesc()` Returns a shorter description that toSting().
`String` `toString()` Returns a textual desciption of this transition.

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

### constraints

    private BasicPatternElement constraints

  The constraints on this transition.

### target

    private State target

  The state this transition leads to

### bindings

    private LinkedList bindings

  A list with all the labels associated to the annotations recognized by this transition. We need to use the actual object and not the interface (java.util.List) because we need this object to be cloneable

### myIndex

    private int myIndex

  The unique index of this transition. This value is not used by any of the algorithms. It is only provided as a convenient method of identifying the transitions in textual representations (toString() and GML related methods)

### index

    private static int index

  Static member used for generating unique IDs for the objects of type Transition

Constructor Detail

### Transition

    public Transition()

  Default constructor. Creates a new transition with a new unique index. This constructor should be called by all other constructors.

### Transition

    public Transition(BasicPatternElement constraints,
                      State state)

  Creates a new transition using the given set of constraints and target state.
  Parameters:
    `constraints` - the set on constraints associated to this transition
    `state` - the target state of this transition

### Transition

    public Transition(BasicPatternElement constraints,
                      State state,
                      LinkedList bindings)

  Ctreates a new transition from a set of constraints, a target state and a list of labels to be bound with the recognized input symbols (aka annotations).

Method Detail

### getTarget

    public State getTarget()

  Gets the target state of this transition
  Returns:
    an object of type gate.fsm.State

### getConstraints

    public BasicPatternElement getConstraints()

  Gets the constraints associated to this transition

### toString

    public String toString()

  Returns a textual desciption of this transition.
  Overrides:
    `toString` in class `Object`
  Returns:
    a String

### shortDesc

    public String shortDesc()

  Returns a shorter description that toSting(). Actually, it returns the unique index in String form.

### getBindings

    public LinkedList getBindings()

  Returns the list of bindings associated to this transition

### compareTo

    public int compareTo(Object o)
                  throws ClassCastException

  Specified by:
    `compareTo` in interface `Comparable`