Package weka.knowledgeflow.steps

# Class Job

java.lang.Object
weka.knowledgeflow.steps.BaseStep
weka.knowledgeflow.steps.Job

All Implemented Interfaces:
  `Serializable`, `BaseStepExtender`, `Step`

@KFStep(name="Job", category="Flow", toolTipText="Execute a flow as a \'job\' and wait for it to finish", iconPath="weka/gui/knowledgeflow/icons/Job.gif") public class Job extends BaseStep
Step that executes another flow as a "job". Typically, you would parameterize the flow to be executed with variables (in steps that support variables) and then use a a data source connected to a SetVariables step to change the values of the variables dynamically at runtime. For example, a DataGrid could be used to define a set of instances with a string variable containing paths to ARFF files to process; SetVariables can be used to transfer these file paths from the incoming instances generated by DataGrid to the values of variables; then the Job step can execute it's sub-flow for each configuration of variables received, thus processing a different ARFF file (if the subflow uses an ArffLoader step).

Version:
  $Revision: $
Author:
  Mark Hall (mhall{[at]}pentaho{[dot]}com)
See Also:
  - Serialized Form

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Job()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `String`
  `getCustomEditorForStep()`
  Get the custom editor for this step
  `File`
  `getFlowFile()`
  `List<String>`
  `getIncomingConnectionTypes()`
  Get a list of incoming connection types that this step can accept.
  `List<String>`
  `getOutgoingConnectionTypes()`
  Get a list of outgoing connection types that this step can produce.
  `void`
  `processIncoming(Data data)`
  Process an incoming data payload (if the step accepts incoming connections)
  `void`
  `setFlowFile(File flowFile)`
  `void`
  `start()`
  Start processing.
  `void`
  `stepInit()`
  Initialize the step.

  ### Methods inherited from class weka.knowledgeflow.steps.BaseStep

  `environmentSubstitute, getDefaultSettings, getInteractiveViewers, getInteractiveViewersImpls, getName, getStepManager, globalInfo, isResourceIntensive, isStopRequested, outputStructureForConnectionType, outputStructureForConnectionType, setName, setStepIsResourceIntensive, setStepManager, setStepMustRunSingleThreaded, stepMustRunSingleThreaded, stop`

  ### Methods inherited from class java.lang.Object

  `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### Job

    public Job()

- ## Method Details

  - ### setFlowFile

    @FilePropertyMetadata(fileChooserDialogType=0, directoriesOnly=false) @OptionMetadata(displayName="Flow file", description="The flow to execute", displayOrder=0) public void setFlowFile(File flowFile)

  - ### getFlowFile

    public File getFlowFile()

  - ### stepInit

    public void stepInit() throws WekaException
    Description copied from interface: `Step`
    Initialize the step.
    Throws:
      `WekaException` - if a problem occurs during initialization

  - ### start

    public void start() throws WekaException
    Description copied from class: `BaseStep`
    Start processing. Subclasses should override this method if they can act as a start point in a flow.
    Specified by:
      `start` in interface `BaseStepExtender`
    Specified by:
      `start` in interface `Step`
    Overrides:
      `start` in class `BaseStep`
    Throws:
      `WekaException` - if a problem occurs

  - ### processIncoming

    public void processIncoming(Data data) throws WekaException
    Description copied from class: `BaseStep`
    Process an incoming data payload (if the step accepts incoming connections)
    Specified by:
      `processIncoming` in interface `BaseStepExtender`
    Specified by:
      `processIncoming` in interface `Step`
    Overrides:
      `processIncoming` in class `BaseStep`
    Parameters:
      `data` - the payload to process
    Throws:
      `WekaException` - if a problem occurs

  - ### getIncomingConnectionTypes

    public List<String> getIncomingConnectionTypes()
    Description copied from interface: `Step`
    Get a list of incoming connection types that this step can accept. Ideally (and if appropriate), this should take into account the state of the step and any existing incoming connections. E.g. a step might be able to accept one (and only one) incoming batch data connection.
    Returns:
      a list of incoming connections that this step can accept given its current state

  - ### getOutgoingConnectionTypes

    public List<String> getOutgoingConnectionTypes()
    Description copied from interface: `Step`
    Get a list of outgoing connection types that this step can produce. Ideally (and if appropriate), this should take into account the state of the step and the incoming connections. E.g. depending on what incoming connection is present, a step might be able to produce a trainingSet output, a testSet output or neither, but not both.
    Returns:
      a list of outgoing connections that this step can produce

  - ### getCustomEditorForStep

    public String getCustomEditorForStep()
    Get the custom editor for this step
    Specified by:
      `getCustomEditorForStep` in interface `Step`
    Overrides:
      `getCustomEditorForStep` in class `BaseStep`
    Returns:
      the fully qualified class name of the clustom editor for this step