core
Class State

java.lang.Object
  extended by core.State
All Implemented Interfaces:
java.lang.Comparable

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

This class represents a single state of a FSM, the components being its name and its transitions.

Author:
Leopold Haller

Method Summary
 void addTransition(java.lang.String symbol, State... s)
          Adds a transition to the State, the symbol is automatically added to the state's finite state machine
 void addTransition(java.lang.String symbol, java.lang.String... s)
           
 int compareTo(java.lang.Object o)
           
 boolean equals(java.lang.Object obj)
           
 java.lang.String getName()
           
 java.lang.String getStringDescription()
           
 java.util.Map<java.lang.String,java.util.ArrayList<State>> getTransitions()
           
 boolean isFinal()
           
 boolean isInitial()
           
 boolean removeTransition(java.lang.String symbol)
           
 boolean removeTransition(java.lang.String symbol, State s)
           
 boolean removeTransitions(State toRemove)
          Removes all transitions to the given state
 void setFinal(boolean finalState)
           
 void setInitial(boolean initialState)
           
 java.lang.String toString()
           
 java.util.ArrayList<State> transition(java.lang.String symbol)
          Returns the successors of the state with the given symbol, null if none exist.
 
Methods inherited from class java.lang.Object
getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Method Detail

addTransition

public void addTransition(java.lang.String symbol,
                          State... s)
Adds a transition to the State, the symbol is automatically added to the state's finite state machine

Parameters:
symbol - The symbol with which the state should transition
s - The successor states reachable through transitioning with symbol

addTransition

public void addTransition(java.lang.String symbol,
                          java.lang.String... s)

getTransitions

public java.util.Map<java.lang.String,java.util.ArrayList<State>> getTransitions()

compareTo

public int compareTo(java.lang.Object o)
Specified by:
compareTo in interface java.lang.Comparable

equals

public boolean equals(java.lang.Object obj)
Overrides:
equals in class java.lang.Object

getName

public java.lang.String getName()

isFinal

public boolean isFinal()

isInitial

public boolean isInitial()

removeTransition

public boolean removeTransition(java.lang.String symbol)

removeTransition

public boolean removeTransition(java.lang.String symbol,
                                State s)

removeTransitions

public boolean removeTransitions(State toRemove)
Removes all transitions to the given state

Parameters:
toRemove - The state to which all transitions are to be removed
Returns:
True if the state (this) had transitions to the state s.

setFinal

public void setFinal(boolean finalState)

setInitial

public void setInitial(boolean initialState)

getStringDescription

public java.lang.String getStringDescription()

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

transition

public java.util.ArrayList<State> transition(java.lang.String symbol)
Returns the successors of the state with the given symbol, null if none exist.

Parameters:
symbol - The symbol to transition with.
Returns:
An arraylist containing the successors, changes in the list reflect in the transitions