org.biojava.utils.automata
Class FiniteAutomaton

java.lang.Object
  extended by org.biojava.utils.automata.FiniteAutomaton
Direct Known Subclasses:
Nfa

public class FiniteAutomaton
extends Object

Class for modelling finite automata.

This class models basic FA behaviour. More specialised behaviour is implemented by subclassing this.

Since:
1.4
Author:
David Huen

Field Summary
protected  org.biojava.utils.automata.FiniteAutomaton.Node end
           
protected  Set nodes
           
protected  org.biojava.utils.automata.FiniteAutomaton.Node start
           
protected  Set transitions
           
 
Method Summary
 org.biojava.utils.automata.FiniteAutomaton.Node addNode(boolean terminal)
          Add a node to the FA.
 org.biojava.utils.automata.FiniteAutomaton.Transition addTransition(org.biojava.utils.automata.FiniteAutomaton.Node start, org.biojava.utils.automata.FiniteAutomaton.Node end, Symbol sym)
           
protected  int alphaIndex(Symbol sym)
           
 org.biojava.utils.automata.FiniteAutomaton.NodeSet createNodeSet()
           
 FiniteAutomaton getAutomaton()
           
 org.biojava.utils.automata.FiniteAutomaton.Node getEnd()
           
 org.biojava.utils.automata.FiniteAutomaton.NodeSet getNodes()
          get all Nodes within this instance.
 org.biojava.utils.automata.FiniteAutomaton.Node getStart()
           
 Set getTransitions()
          retrieve Set of all transitions in instance.
 String toString()
          dumps internal data of Nodes and Transitions that describe this FiniteAutomaton.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

nodes

protected Set nodes

transitions

protected Set transitions

start

protected org.biojava.utils.automata.FiniteAutomaton.Node start

end

protected org.biojava.utils.automata.FiniteAutomaton.Node end
Method Detail

getStart

public org.biojava.utils.automata.FiniteAutomaton.Node getStart()

getEnd

public org.biojava.utils.automata.FiniteAutomaton.Node getEnd()

getAutomaton

public FiniteAutomaton getAutomaton()

addTransition

public org.biojava.utils.automata.FiniteAutomaton.Transition addTransition(org.biojava.utils.automata.FiniteAutomaton.Node start,
                                                                           org.biojava.utils.automata.FiniteAutomaton.Node end,
                                                                           Symbol sym)

addNode

public org.biojava.utils.automata.FiniteAutomaton.Node addNode(boolean terminal)
Add a node to the FA.

Parameters:
terminal - Is the Node terminal?

getNodes

public org.biojava.utils.automata.FiniteAutomaton.NodeSet getNodes()
get all Nodes within this instance.


getTransitions

public Set getTransitions()
retrieve Set of all transitions in instance.


createNodeSet

public org.biojava.utils.automata.FiniteAutomaton.NodeSet createNodeSet()

toString

public String toString()
dumps internal data of Nodes and Transitions that describe this FiniteAutomaton. It is not possible to dump it as a regex as there are FA that cannot be expressed as a regex.

Overrides:
toString in class Object

alphaIndex

protected int alphaIndex(Symbol sym)
                  throws IllegalSymbolException
Throws:
IllegalSymbolException