com.karneim.util.collection.set
Interface IStatePro

All Known Implementing Classes:
SAutomaton.StatePro

public interface IStatePro

This interface represents a state of an automaton created via the automaton's addState method.

Copyright: Copyright (c) 2002

Company: B?ro f?r Softwarearchitektur www.karneim.com

Version:
1.0
Author:
Ralf Meyer

Nested Class Summary
static interface IStatePro.IChangeListener
          The listener interface for receiving change events of an IStatePro.
static interface IStatePro.ITransition
           
static interface IStatePro.IVisitListener
          The listener interface for receiving visit events of an IStatePro.
 
Method Summary
 void addChangeListener(IStatePro.IChangeListener listener)
           
 IStatePro.ITransition addTransition(ISet_char charSet, IStatePro toState)
          Adds a new transition to this state.
 void addVisitListener(IStatePro.IVisitListener listener)
           
 StateProSet getAllReachableStates()
          Returns all states that are reachable from this state through it's transitions and so on.
 IStatePro.ITransition[] getAllTransitions()
           
 IStatePro.ITransition[] getETransitions()
           
 int getStateNumber()
           
 IStatePro.ITransition[] getTransitions()
           
 boolean isFinal()
           
 void removeAllTransitions()
           
 boolean removeChangeListener(IStatePro.IChangeListener listener)
           
 boolean removeTransition(IStatePro.ITransition transition)
          Removes the specified transition from this state.
 boolean removeVisitListener(IStatePro.IVisitListener listener)
           
 void setFinal(boolean isFinal)
          Makes this state final or non final.
 IState visit()
          Visits this state with an epsilon transition and returns its epsilon closure.
 

Method Detail

addVisitListener

public void addVisitListener(IStatePro.IVisitListener listener)

removeVisitListener

public boolean removeVisitListener(IStatePro.IVisitListener listener)

addChangeListener

public void addChangeListener(IStatePro.IChangeListener listener)

removeChangeListener

public boolean removeChangeListener(IStatePro.IChangeListener listener)

isFinal

public boolean isFinal()
Returns:
true if the state is a final state else false

setFinal

public void setFinal(boolean isFinal)
Makes this state final or non final.


addTransition

public IStatePro.ITransition addTransition(ISet_char charSet,
                                           IStatePro toState)
Adds a new transition to this state. The transition is defined by it's character set charSet and it's destionation state toState, so that you can transit from this state to the destination state only with a character contained in charSet. There is only one exception, if charSet is null, an epsilon transition will be added, which means that there are no chars needed to get to the destinationState toState; in other words a state that has an epsilon transition can get through this epsilon transition to the destination state toState without any char, so that we can say that toState melts into the state.

Parameters:
charSet - the characters for this transition
toState - the destination state where to transit to
Returns:
the new transition

removeTransition

public boolean removeTransition(IStatePro.ITransition transition)
Removes the specified transition from this state.
important: the specified transition must be a transition created via this state's addTransition method, otherwise an IllegalArgumentException is thrown

Parameters:
transition -
Returns:
true if transition was a transition of this state else false

removeAllTransitions

public void removeAllTransitions()

getTransitions

public IStatePro.ITransition[] getTransitions()

getETransitions

public IStatePro.ITransition[] getETransitions()

getAllTransitions

public IStatePro.ITransition[] getAllTransitions()

getAllReachableStates

public StateProSet getAllReachableStates()
Returns all states that are reachable from this state through it's transitions and so on.
important: this state is only element of the returned set, if it is an element of a loop

Returns:
all reachable states as a set

visit

public IState visit()
Visits this state with an epsilon transition and returns its epsilon closure.

Returns:
the epsilon closure of this state

getStateNumber

public int getStateNumber()