edu.williams.cs.ljil.finitizer
Class FSPBuilder

java.lang.Object
  extended by edu.williams.cs.ljil.finitizer.FSPBuilder

public class FSPBuilder
extends java.lang.Object

Primary class for FSP building logic: keeps track of the Little-JIL program and resolution actions.


Field Summary
protected  java.util.Vector appliedTransformations
          Sequence of pending transformations.
protected  FSPPathologist pathologist
          The resident doctor.
protected  java.util.Vector pendingTransformations
          Sequence of pending transformations.
protected  laser.littlejil.Program program
          The Little-JIL Program.
 
Constructor Summary
FSPBuilder(java.lang.String filename)
          Construct an FSP Builder Logic for the given file.
 
Method Summary
 void addTransformationListener(TransformationListener tl)
           
 void generateFSP()
          Generate the FSP Model
 InteractiveFrontend getFrontend()
           
 java.util.Vector getIssues()
          Get a vector of current issues.
 laser.littlejil.Program getProgram()
          Get the Little-JIL Program object
 java.lang.String getProgramName()
          Get the name of the program (name of root diagram).
 laser.littlejil.Step getRootStep()
          Get the program's root step.
protected  void notifyApplied(Transformation t)
           
protected  void notifyUnapplied(Transformation t)
           
 void recordTransformationApplied(AppliedTransformation at)
          Indicate that the given transformation has been applied.
 void registerPendingTransformation(PendingTransformation pt)
          Indicate that the given transformation is pending
 void setFrontend(InteractiveFrontend frontend)
           
 void undoTransformationApplied(AppliedTransformation at)
          Indicate that the given transformation has been undone.
 void unregisterPendingTransformation(PendingTransformation pt)
          Undo application of a pending transformation.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

program

protected laser.littlejil.Program program
The Little-JIL Program.


pathologist

protected FSPPathologist pathologist
The resident doctor.


pendingTransformations

protected java.util.Vector pendingTransformations
Sequence of pending transformations.


appliedTransformations

protected java.util.Vector appliedTransformations
Sequence of pending transformations.

Constructor Detail

FSPBuilder

public FSPBuilder(java.lang.String filename)
           throws java.io.FileNotFoundException,
                  java.io.IOException,
                  java.lang.ClassNotFoundException
Construct an FSP Builder Logic for the given file.

Throws:
java.io.FileNotFoundException
java.io.IOException
java.lang.ClassNotFoundException
Method Detail

getFrontend

public InteractiveFrontend getFrontend()
Returns:

setFrontend

public void setFrontend(InteractiveFrontend frontend)
Parameters:
frontend - An interactive frontend for prompting user

registerPendingTransformation

public void registerPendingTransformation(PendingTransformation pt)
Indicate that the given transformation is pending


unregisterPendingTransformation

public void unregisterPendingTransformation(PendingTransformation pt)
Undo application of a pending transformation.


recordTransformationApplied

public void recordTransformationApplied(AppliedTransformation at)
Indicate that the given transformation has been applied.


undoTransformationApplied

public void undoTransformationApplied(AppliedTransformation at)
Indicate that the given transformation has been undone.


generateFSP

public void generateFSP()
Generate the FSP Model


getProgramName

public java.lang.String getProgramName()
Get the name of the program (name of root diagram).


getProgram

public laser.littlejil.Program getProgram()
Get the Little-JIL Program object


getRootStep

public laser.littlejil.Step getRootStep()
Get the program's root step.


getIssues

public java.util.Vector getIssues()
                           throws NullStepException
Get a vector of current issues.

Throws:
NullStepException - is thrown if the root step in the process is null

addTransformationListener

public void addTransformationListener(TransformationListener tl)

notifyApplied

protected void notifyApplied(Transformation t)

notifyUnapplied

protected void notifyUnapplied(Transformation t)