laser.regularlanguage.fsa
Class FSAEpsilonTransition<L extends LabelInterface>

java.lang.Object
  extended by laser.regularlanguage.fsa.AbstractFSATransition<L>
      extended by laser.regularlanguage.fsa.FSAEpsilonTransition<L>
Type Parameters:
L - The type of Label associated with the FSA that contains this transition.
All Implemented Interfaces:
java.io.Serializable, java.lang.Comparable<FSATransitionInterface<L>>, FSAEpsilonTransitionInterface<L>, FSATransitionInterface<L>, Annotatable

public class FSAEpsilonTransition<L extends LabelInterface>
extends AbstractFSATransition<L>
implements FSAEpsilonTransitionInterface<L>

This class represents epsilon (ε) transitions in FSAs of type AbstractFSA.

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, FSAEpsilonTransitionInterface, Serialized Form

Constructor Summary
protected FSAEpsilonTransition(int id, FSAStateInterface<L> source, FSAStateInterface<L> target)
          Creates a new FSAEpsilonTransition from the specified source state to the specified target state with the specified ID.
 
Method Summary
protected  java.lang.String toStringLabel()
          Returns a String representation of the label function of this AbstractFSATransition.
 
Methods inherited from class laser.regularlanguage.fsa.AbstractFSATransition
addAnnotation, addAnnotations, compareTo, copyAnnotations, getAnnotationClasses, getAnnotationClasses, getAnnotationFilters, getAnnotations, getAnnotations, getFSA, getID, getSource, getTarget, isSelfLoop, removeAnnotation, removeAnnotations, removeAnnotations, removeAnnotations, setAnnotationFilters, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface laser.regularlanguage.fsa.FSATransitionInterface
getFSA, getID, getSource, getTarget
 
Methods inherited from interface laser.util.Annotatable
addAnnotation, addAnnotations, copyAnnotations, getAnnotationClasses, getAnnotationClasses, getAnnotationFilters, getAnnotations, getAnnotations, removeAnnotation, removeAnnotations, removeAnnotations, removeAnnotations, setAnnotationFilters
 
Methods inherited from interface java.lang.Comparable
compareTo
 

Constructor Detail

FSAEpsilonTransition

protected FSAEpsilonTransition(int id,
                               FSAStateInterface<L> source,
                               FSAStateInterface<L> target)
Creates a new FSAEpsilonTransition from the specified source state to the specified target state with the specified ID.

This constructor should only be called by the AbstractFSAFactory._createFSAEpsilonTransitionInterface(int, laser.regularlanguage.fsa.FSAStateInterface, laser.regularlanguage.fsa.FSAStateInterface, java.lang.Object...) method.

Precondition: source and target are not null and are a part of the same FSA.

Parameters:
id - The ID.
source - The state that is the source of this transition.
target - The state that is the target of this transition.
See Also:
AbstractFSAFactory._createFSAEpsilonTransitionInterface(int, laser.regularlanguage.fsa.FSAStateInterface, laser.regularlanguage.fsa.FSAStateInterface, java.lang.Object...)
Method Detail

toStringLabel

protected java.lang.String toStringLabel()
Returns a String representation of the label function of this AbstractFSATransition.

Specified by:
toStringLabel in class AbstractFSATransition<L extends LabelInterface>
Returns:
A String representation of the label function