Package com.uc4.api.objects
Class WorkflowLoop
- java.lang.Object
-
- com.uc4.api.objects.UC4Object
-
- com.uc4.api.objects.WorkflowLoop
-
- All Implemented Interfaces:
LifecycleSaveAware
,WorkflowInterfaces.IUpdatable
,java.lang.Iterable<JobPlanTask>
public class WorkflowLoop extends UC4Object implements java.lang.Iterable<JobPlanTask>, WorkflowInterfaces.IUpdatable, LifecycleSaveAware
This class represents Workflow of type FOREACH.
-
-
Constructor Summary
Constructors Constructor Description WorkflowLoop()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addTask(JobPlanTask task)
Adds a task to this for each loop.void
addTask(JobPlanTask task, int pos)
Adds a task to this ForEach loop at the specified position.void
addTaskAndCreateDependencies(JobPlanTask task)
Adds a task to this for each loop and Recreates the dependencies.void
addTaskAndCreateDependencies(JobPlanTask task, int pos)
Adds a task to this ForEach loop at the specified position and recreates the dependencies.void
afterSaveObject()
Called after an object is saved.JobPlanAttributes
attributes()
Returns attributes of thisJobPlan
.void
clear()
Removes all tasks in this for each workflow.LoopDataSource
datasource()
Datasource of the loop.JobPlanTask
getEndTask()
Returns the END task of this FOR EACH workflow.java.lang.String
getProcess()
Returns the content of the "Process" tab.JobPlanTask
getStartTask()
Returns the Start Task of this FOR EACH workflow.JobPlanTask
getTaskByUserDefinedID(java.lang.String id)
Returns a worfkflow task with the specified ID.XHeader
header()
Returns the header data of this object.boolean
isExecutable()
Returnstrue
if this Object can be executed.java.util.Iterator<JobPlanTask>
iterator()
boolean
removeTask(JobPlanTask task)
Removes the specified task from theWorkFlowLoop
.boolean
removeTaskAndCreateDependencies(JobPlanTask task)
Removes the specified task from theWorkFlowLoop
and recreates the dependencies.Rollback
rollback()
This method provides access to the rollback tab of an executable object.Runtime
runtime()
Returns runtime information of this job.void
setProcess(java.lang.String script)
Sets the content of the "Process" tab.protected void
setTaskFactory(WorkFlowTaskFactory taskFactory)
Sub classes may call this method in order to provide their own sub class ofJobPlanTask
which may contain additional features.int
size()
Number of tasks in the loop.SyncList
syncs()
Returns aSyncList
object which contains sync conditions of this object.void
update()
Update the object (i.e.void
validate()
Validates the object.ObjectValues
values()
-
Methods inherited from class com.uc4.api.objects.UC4Object
docu, getAccess, getIdnr, getModCount, getName, getType, isOldVersion, load, store
-
-
-
-
Method Detail
-
setTaskFactory
protected void setTaskFactory(WorkFlowTaskFactory taskFactory)
Sub classes may call this method in order to provide their own sub class ofJobPlanTask
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
- JobPlanTaskpos
- 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
- JobPlanTaskpos
- 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 java.util.Iterator<JobPlanTask> iterator()
- Specified by:
iterator
in interfacejava.lang.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(java.lang.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 aSyncList
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 java.lang.String getProcess()
Returns the content of the "Process" tab.- Returns:
- JCL
-
setProcess
public void setProcess(java.lang.String script)
Sets the content of the "Process" tab.- Parameters:
script
- Script
-
attributes
public JobPlanAttributes attributes()
Returns attributes of thisJobPlan
.- Returns:
- JobPlan attributes
-
isExecutable
public boolean isExecutable()
Description copied from class:UC4Object
Returnstrue
if this Object can be executed.- Specified by:
isExecutable
in classUC4Object
- 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 interfaceLifecycleSaveAware
-
validate
public void validate() throws java.io.InvalidObjectException
Description copied from class:UC4Object
Validates the object. If the object is not valid anInvalidObjectException
is thrown.
-
removeTask
public boolean removeTask(JobPlanTask task)
Removes the specified task from theWorkFlowLoop
.- 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 theWorkFlowLoop
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 interfaceWorkflowInterfaces.IUpdatable
-
-