TEMERITY

us.temerity.pipeline
Class BaseTool.ToolPhase

java.lang.Object
  extended by us.temerity.pipeline.BaseTool.ToolPhase
Enclosing class:
BaseTool

public class BaseTool.ToolPhase
extends Object

Base class for one phase of operation of the Tool plugin.

Tool plugins should create subclasses of ToolPhase for each of their phases of input and register instances of these classes in their constructor using addPhase. The default implementation of the collectPhaseInput and executePhase methods will iterate through these ToolPhase instances automatically.


Constructor Summary
BaseTool.ToolPhase()
           
 
Method Summary
 String collectInput()
          Create and show graphical user interface components to collect information from the user to use as input for the execute method in this phase.
 BaseTool.NextPhase execute(MasterMgrClient mclient, QueueMgrClient qclient)
          Perform operations for this phase of the tool based on user input gathered by the collectInput method.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BaseTool.ToolPhase

public BaseTool.ToolPhase()
Method Detail

collectInput

public String collectInput()
                    throws PipelineException
Create and show graphical user interface components to collect information from the user to use as input for the execute method in this phase.

This method is executed by the Swing event thread. Modal dialogs can be created and shown to collect user input. The collected input should be validated and stored in fields of the ToolPhase subclass by this method before returning.

If this method returns null, the execution of the tool will be immediately aborted without any notification to the user. Otherwise, the execute method will be run in a seperate thread to perform actions based on the input collected in this method. The returned String will be used as the progress message shown in the operation status field at the bottom of the main Pipeline window.

Returns:
The phase progress message or null to abort early.
Throws:
PipelineException - If unable to validate the given user input.

execute

public BaseTool.NextPhase execute(MasterMgrClient mclient,
                                  QueueMgrClient qclient)
                           throws PipelineException
Perform operations for this phase of the tool based on user input gathered by the collectInput method.

This method is executed in a seperate thread from the Swing event thread. No user interface components should be created or queried by this method. All information used to control the behaviour of this method should be stored in fields of this ToolPhase previously set by the collectInput method.

If this method returns true, execution will proceed to the next ToolPhase for this tool plugin and begin collection more information from the user by calling the collectInput method of this next phase.

If this method returns NextPhase.Finish, execution of the entire tool will end successfully.

Parameters:
mclient - The network connection to the plmaster(1) daemon.
qclient - The network connection to the plqueuemgr(1) daemon.
Returns:
What to do next: Continue, Repeat or Finish?
Throws:
PipelineException - If unable to sucessfully execute this phase of the tool.

TEMERITY