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