Class WorkflowLoop

java.lang.Object
com.uc4.api.objects.UC4Object
com.uc4.api.objects.WorkflowLoop
All Implemented Interfaces:
LifecycleSaveAware, WorkflowInterfaces.IUpdatable, Iterable<JobPlanTask>

public class WorkflowLoop extends UC4Object implements Iterable<JobPlanTask>, WorkflowInterfaces.IUpdatable, LifecycleSaveAware
This class represents Workflow of type FOREACH.
  • Constructor Details

    • WorkflowLoop

      public WorkflowLoop()
  • Method Details

    • setTaskFactory

      protected void setTaskFactory(WorkFlowTaskFactory taskFactory)
      Sub classes may call this method in order to provide their own sub class of JobPlanTask which may contain additional features.
      Parameters:
      taskFactory - Task Factory
    • addTask

      public void addTask(JobPlanTask task)
      Adds a task to this for each loop.
      Parameters:
      task - JobPlanTask
    • addTask

      public void addTask(JobPlanTask task, int pos)
      Adds a task to this ForEach loop at the specified position.
      Parameters:
      task - JobPlanTask
      pos - Position where the task should be added
    • addTaskAndCreateDependencies

      public void addTaskAndCreateDependencies(JobPlanTask task)
      Adds a task to this for each loop and Recreates the dependencies.
      Parameters:
      task - JobPlanTask
    • addTaskAndCreateDependencies

      public void addTaskAndCreateDependencies(JobPlanTask task, int pos)
      Adds a task to this ForEach loop at the specified position and recreates the dependencies.
      Parameters:
      task - JobPlanTask
      pos - Position where the task should be added
    • rollback

      public Rollback rollback()
      This method provides access to the rollback tab of an executable object.
      Returns:
      Rollback settings
    • iterator

      public Iterator<JobPlanTask> iterator()
      Specified by:
      iterator in interface Iterable<JobPlanTask>
    • clear

      public void clear()
      Removes all tasks in this for each workflow.
    • size

      public int size()
      Number of tasks in the loop. This method does not count the END and FE objects
      Returns:
      Number of tasks
    • getTaskByUserDefinedID

      public JobPlanTask getTaskByUserDefinedID(String id)
      Returns a worfkflow task with the specified ID.
      Parameters:
      id - ID of the task
      Returns:
      Task or null if not found
    • getStartTask

      public JobPlanTask getStartTask()
      Returns the Start Task of this FOR EACH workflow.
      Returns:
      Start task
    • getEndTask

      public JobPlanTask getEndTask()
      Returns the END task of this FOR EACH workflow.
      Returns:
      End task
    • datasource

      public LoopDataSource datasource()
      Datasource of the loop.
      Returns:
      Loop definition
    • values

      public ObjectValues values()
      Returns:
      Variables of this object
    • header

      public XHeader header()
      Returns the header data of this object. This is the information of the header tab in the dialog client.
      Returns:
      header
    • syncs

      public SyncList syncs()
      Returns a SyncList object which contains sync conditions of this object.
      Returns:
      sync conditions
    • runtime

      public Runtime runtime()
      Returns runtime information of this job. This corresponds to the "Runtime" tab in the dialog client.
      Returns:
      Runtime information
    • getProcess

      public String getProcess()
      Returns the content of the "Process" tab.
      Returns:
      JCL
    • setProcess

      public void setProcess(String script)
      Sets the content of the "Process" tab.
      Parameters:
      script - Script
    • attributes

      public JobPlanAttributes attributes()
      Returns attributes of this JobPlan.
      Returns:
      JobPlan attributes
    • isExecutable

      public boolean isExecutable()
      Description copied from class: UC4Object
      Returns true if this Object can be executed.
      Specified by:
      isExecutable in class UC4Object
      Returns:
      true if the Object can be executed, false if not.
    • afterSaveObject

      public void afterSaveObject()
      Description copied from interface: LifecycleSaveAware
      Called after an object is saved.
      Specified by:
      afterSaveObject in interface LifecycleSaveAware
    • validate

      public void validate() throws InvalidObjectException
      Description copied from class: UC4Object
      Validates the object. If the object is not valid an InvalidObjectException is thrown.
      Overrides:
      validate in class UC4Object
      Throws:
      InvalidObjectException - If the object is not valid
    • removeTask

      public boolean removeTask(JobPlanTask task)
      Removes the specified task from the WorkFlowLoop.
      Parameters:
      task - WorkFlowLoop task which should be removed
      Returns:
      True if the task was removed successfully
    • removeTaskAndCreateDependencies

      public boolean removeTaskAndCreateDependencies(JobPlanTask task)
      Removes the specified task from the WorkFlowLoop and recreates the dependencies.
      Parameters:
      task - WorkFlowLoop task which should be removed
      Returns:
      True if the task was removed successfully
    • update

      public void update()
      Description copied from interface: WorkflowInterfaces.IUpdatable
      Update the object (i.e. recalculate internal properties, sort tasks, ...)
      Specified by:
      update in interface WorkflowInterfaces.IUpdatable