laser.regularlanguage.fsa
Class IndexedDFAFactory

java.lang.Object
  extended by laser.regularlanguage.fsa.AbstractFSAFactory<IndexedLabel>
      extended by laser.regularlanguage.fsa.IndexedFSAFactory
          extended by laser.regularlanguage.fsa.IndexedDFAFactory
All Implemented Interfaces:
java.io.Serializable, FSAFactoryInterface<IndexedLabel>

public class IndexedDFAFactory
extends IndexedFSAFactory

A factory that creates deterministic finite state automata (DFAs) of type AbstractFSA that are associated with IndexedLabels. This is a factory as in the design pattern, (Design Patterns, Gamma, Helm, Johnson, and Vlissides, pp 87, 107, 1995).

Note that this class is not synchronized, and attempts to use it with non-sequential code may result in unexpected behavior.

Author:
Nathan Jokel (laser-software@cs.umass.edu)
See Also:
AbstractFSA, IndexedLabel, Serialized Form

Field Summary
 
Fields inherited from class laser.regularlanguage.fsa.AbstractFSAFactory
alphabetFactory
 
Constructor Summary
IndexedDFAFactory()
          Creates an instance of IndexedDFAFactory.
 
Method Summary
 MutableFSAInterface<IndexedLabel> createMutableFSAInterface(AlphabetInterface<IndexedLabel> alphabet, java.lang.Object... args)
          Creates a mutable FSA from the specified arguments.
 
Methods inherited from class laser.regularlanguage.fsa.IndexedFSAFactory
_internalGetRunnableDFA, _internalGetRunnableFSA
 
Methods inherited from class laser.regularlanguage.fsa.AbstractFSAFactory
_copyStateInto, _copyTransitionInto, _createFSAEpsilonTransitionInterface, _createFSALabelPatternTransitionInterface, _createFSALabelTransitionInterface, _createFSAStateInterface, _internalCreateMutableDFAInterface, _internalCreateMutableFSAInterface, getAlphabetFactory, getCreateArgs, getCreateArgs, getCreateArgs
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

IndexedDFAFactory

public IndexedDFAFactory()
Creates an instance of IndexedDFAFactory.

Method Detail

createMutableFSAInterface

public MutableFSAInterface<IndexedLabel> createMutableFSAInterface(AlphabetInterface<IndexedLabel> alphabet,
                                                                   java.lang.Object... args)
Creates a mutable FSA from the specified arguments.

PRECONDITIONS:

Specified by:
createMutableFSAInterface in interface FSAFactoryInterface<IndexedLabel>
Overrides:
createMutableFSAInterface in class AbstractFSAFactory<IndexedLabel>
Parameters:
alphabet - The alphabet for the new FSA.
args - The arguments (optional).
Returns:
The mutable FSA.
Throws:
java.lang.IllegalArgumentException - A mutable FSA can not be created from the specified arguments.