001
002
003package org.biojava.utils.automata;
004
005import java.util.Set;
006
007import org.biojava.bio.symbol.Symbol;
008
009public interface NfaBuilder
010{
011    public FiniteAutomaton getAutomaton();
012    public FiniteAutomaton.Node getStart();
013    public FiniteAutomaton.Node getEnd();
014    public FiniteAutomaton.Node addNode(boolean isTerminal);
015    public FiniteAutomaton.Transition addTransition(FiniteAutomaton.Node start, FiniteAutomaton.Node end, Symbol sym);
016    public FiniteAutomaton.Transition addEpsilonTransition(FiniteAutomaton.Node start, FiniteAutomaton.Node end);
017    public FiniteAutomaton.Transition addLambdaTransition(FiniteAutomaton.Node start, FiniteAutomaton.Node end);
018    public FiniteAutomaton.NodeSet getNodes();
019    public Set getTransitions();
020    public FiniteAutomaton.NodeSet createNodeSet();
021    public String toString();
022}
023
024