Package net.automatalib.incremental.dfa
Class AbstractIncrementalDFABuilder<I>
- java.lang.Object
-
- net.automatalib.incremental.dfa.AbstractIncrementalDFABuilder<I>
-
- Type Parameters:
I
- input symbol class
- All Implemented Interfaces:
SupportsGrowingAlphabet<I>
,InputAlphabetHolder<I>
,IncrementalDFABuilder<I>
,IncrementalConstruction<DFA<?,I>,I>
- Direct Known Subclasses:
IncrementalDFADAGBuilder
,IncrementalDFATreeBuilder
,IncrementalPCDFADAGBuilder
public abstract class AbstractIncrementalDFABuilder<I> extends Object implements IncrementalDFABuilder<I>, InputAlphabetHolder<I>
Abstract base class forIncrementalDFABuilder
s. This class takes care of holding the input alphabet and its size.
-
-
Field Summary
Fields Modifier and Type Field Description protected int
alphabetSize
protected Alphabet<I>
inputAlphabet
-
Constructor Summary
Constructors Constructor Description AbstractIncrementalDFABuilder(Alphabet<I> inputAlphabet)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addAlphabetSymbol(I symbol)
Notifies the data structure that a new symbol should be added to the alphabet.Alphabet<I>
getInputAlphabet()
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface net.automatalib.incremental.IncrementalConstruction
findSeparatingWord
-
Methods inherited from interface net.automatalib.incremental.dfa.IncrementalDFABuilder
asGraph, asTransitionSystem, hasDefinitiveInformation, insert, insert, lookup
-
-
-
-
Method Detail
-
getInputAlphabet
public Alphabet<I> getInputAlphabet()
- Specified by:
getInputAlphabet
in interfaceInputAlphabetHolder<I>
-
addAlphabetSymbol
public void addAlphabetSymbol(I symbol)
Description copied from interface:SupportsGrowingAlphabet
Notifies the data structure that a new symbol should be added to the alphabet. Behavior depends on the implementation:- After adding a new symbol, the symbol-related data may either be initialized with default values or undefined.
- Duplicate symbols may: (1) be handled accordingly, (2) be ignored or (3) result in an error.
GrowingAlphabet
) to handle potentially shared state across multiple instances. If the needed requirements are not met, aGrowingAlphabetNotSupportedException
can be thrown.- Specified by:
addAlphabetSymbol
in interfaceSupportsGrowingAlphabet<I>
- Parameters:
symbol
- the symbol to add to the alphabet.
-
-