Class JobPlanDependencies
- java.lang.Object
-
- com.uc4.api.objects.JobPlanDependencies
-
- All Implemented Interfaces:
java.lang.Iterable<JobPlanTaskDependency>
public class JobPlanDependencies extends java.lang.Object implements java.lang.Iterable<JobPlanTaskDependency>
JobPlan task dependencies.
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddDependency(JobPlanTask task)Adds a dependency without a certain status.protected voidaddDependency(JobPlanTask predecessor, int branchType)Adds a dependency without a certain status.protected voidaddDependency(JobPlanTask predecessor, int branchType, TaskState taskState)Adds a dependency with a certain status.voidaddDependency(JobPlanTask predecessor, TaskState when)Adds a dependency.voidaddSuccessorTask(JobPlanTask task)Adds the given task to the successor list.voidclear()Removes all dependencies.JobPlanDependenciescopy(JobPlanTask jobPlanTask)Creates a deep copy of this object and all it's properties except for the predecessor and successor object lists.protected voiddecrementPreCounter()UC4ObjectNamegetElseExecute()Returns the object that should be executed when a defined condition does not occur.intgetLatestEndDays()Returns the number of days for the latest end time of this task.TimegetLatestEndTime()Returns theTimefor the latest end of this task.intgetLatestStartDays()Returns the number of days for the latest start time of this task.TimegetLatestStartTime()Returns theTimefor the latest start of this task.protected intgetPreCounter()UC4TimezoneNamegetTimezone()Returns the TimeZone that is to be used.booleanisAtTheLatest()Returnstrueif the latest start and end time is enabled.booleanisElseAbort()Returnstrueif the task and the JobPlan itself are canceled when the defined conditions do not occur.booleanisElseBlock()Returnstrueif the JobPlan blocks at the preceding task.booleanisElseBlockAndAbort()Returnstrueif the JobPlan blocks at the preceding task.booleanisElseSkip()Returnstrueif the task will be skipped when the defined conditions do not occur.booleanisLatestEnd()Returnstrueif the latest end time is selected.booleanisLatestStart()Returnstrueif the latest start time is selected.booleanisStatusMatchAll()Returnstrueif all predecessors must end with the determined status (AND Link).booleanisStatusMatchOne()Returnstrueif at least one predecessor ends as defined.java.util.Iterator<JobPlanTaskDependency>iterator()Returns an iterator overJobPlanTaskDependencyThis iterator cannot be used to remove dependencies.protected voidprepareLnrSort()protected voidremoveAll()booleanremoveDependency(JobPlanTaskDependency dependency)Removes the specified dependency.voidselectLatestEnd()Enables the check for the latest end time.voidselectLatestStart()Enables the check for the latest start time.voidsetAtTheLatest(boolean atTheLatest)Enables or disables the latest start and end time.protected voidsetDependencyListener(IChangeListener listener)voidsetElseAbort()The task and the JobPlan itself are canceled when the defined conditions do not occur.voidsetElseBlock()The JobPlan blocks at the preceding task when the defined conditions do not occur.voidsetElseBlockAndAbort()The JobPlan blocks at the preceding task.voidsetElseExecute(UC4ObjectName elseExecute)Sets the object that should be executed when a defined condition does not occur.voidsetElseSkip()Skips the task if the defined conditions do not occur.voidsetLatestEndDays(int latestEndDays)Sets the number of days for the latest end time of this task.voidsetLatestEndTime(Time latestEndTime)Sets theTimefor the latest end of this task.voidsetLatestStartDays(int latestStartDays)Sets the number of days for the latest start time of this task.voidsetLatestStartTime(Time latestStartTime)Sets theTimefor the latest start of this task.voidsetStatusMatchAll()The task will only be executed if all predecessors end with the determined status (AND Link).voidsetStatusMatchOne()The task will only be executed if at least one predecessor ends as defined (OR Link).voidsetTimezone(UC4TimezoneName timezone)Sets the TimeZone that is to be used.intsize()Gets the number of predecessor dependencies.java.util.Iterator<JobPlanTask>successorIterator()
-
-
-
Method Detail
-
copy
public JobPlanDependencies copy(JobPlanTask jobPlanTask)
Creates a deep copy of this object and all it's properties except for the predecessor and successor object lists. These are not cloned since they represent the arrows in the workflow graph and shouldn't be duplicated.- Parameters:
jobPlanTask- The task to which this dependency object belongs.- Returns:
- A copy of this object.
-
isAtTheLatest
public boolean isAtTheLatest()
Returnstrueif the latest start and end time is enabled.- Returns:
- True if latest start and end time is enabled
-
setAtTheLatest
public void setAtTheLatest(boolean atTheLatest)
Enables or disables the latest start and end time.- Parameters:
atTheLatest- True if latest start and end time should be enabled
-
getLatestEndDays
public int getLatestEndDays()
Returns the number of days for the latest end time of this task.- Returns:
- Number of days for the latest end time
-
setLatestEndDays
public void setLatestEndDays(int latestEndDays)
Sets the number of days for the latest end time of this task.- Parameters:
latestEndDays- Number of days for the latest end time
-
getLatestEndTime
public Time getLatestEndTime()
Returns theTimefor the latest end of this task.- Returns:
- Time of the latest end
-
setLatestEndTime
public void setLatestEndTime(Time latestEndTime)
Sets theTimefor the latest end of this task.- Parameters:
latestEndTime- Time of the latest end
-
getLatestStartDays
public int getLatestStartDays()
Returns the number of days for the latest start time of this task.- Returns:
- Number of days for the latest start time
-
setLatestStartDays
public void setLatestStartDays(int latestStartDays)
Sets the number of days for the latest start time of this task.- Parameters:
latestStartDays- Number of days for the latest start time
-
getLatestStartTime
public Time getLatestStartTime()
Returns theTimefor the latest start of this task.- Returns:
- Time of the latest start
-
setLatestStartTime
public void setLatestStartTime(Time latestStartTime)
Sets theTimefor the latest start of this task.- Parameters:
latestStartTime- Time of the latest start
-
getTimezone
public UC4TimezoneName getTimezone()
Returns the TimeZone that is to be used.- Returns:
- TimeZone that is to be used
-
setTimezone
public void setTimezone(UC4TimezoneName timezone)
Sets the TimeZone that is to be used.- Parameters:
timezone- TimeZone that is to be used
-
selectLatestStart
public void selectLatestStart()
Enables the check for the latest start time.
-
selectLatestEnd
public void selectLatestEnd()
Enables the check for the latest end time.
-
isLatestStart
public boolean isLatestStart()
Returnstrueif the latest start time is selected.- Returns:
- True if latest start is selected
-
isLatestEnd
public boolean isLatestEnd()
Returnstrueif the latest end time is selected.- Returns:
- True if latest end is selected
-
setElseSkip
public void setElseSkip()
Skips the task if the defined conditions do not occur.
-
isElseSkip
public boolean isElseSkip()
Returnstrueif the task will be skipped when the defined conditions do not occur.- Returns:
- True if "Skip" is the selected action
-
setElseBlock
public void setElseBlock()
The JobPlan blocks at the preceding task when the defined conditions do not occur.This does not apply to tasks running parallel within the JobPlan, they are continuing to be processed. The JobPlan as a whole will not block until they have been executed. If there are no parallel running tasks, the task and the JobPlan are blocked immediately.
-
isElseBlock
public boolean isElseBlock()
Returnstrueif the JobPlan blocks at the preceding task. when the defined conditions do not occur.- Returns:
- True if "Block" is the selected action
-
setElseBlockAndAbort
public void setElseBlockAndAbort()
The JobPlan blocks at the preceding task.This does not apply to tasks running parallel within the JobPlan, their processing is being continued. The JobPlan as a whole will not block until they have been executed. If there are no parallel running tasks, the task and the JobPlan are blocked immediately.
If a superordinate JobPlan (parent) is available, a signal indicating an abnormal end is sent to it. The superordinate JobPlan then considers this blocked JobPlan as canceled. Without this signal being sent, the JobPlan (although being blocked) would be considered active by the superordinate JobPlan, as processing has not yet been ended. All successors would then be in the status "Waiting for precondition", which included a standstill of this JobPlan branch.
-
isElseBlockAndAbort
public boolean isElseBlockAndAbort()
Returnstrueif the JobPlan blocks at the preceding task.- Returns:
- True if "Block + Abort Signal" is the selected action
-
setElseAbort
public void setElseAbort()
The task and the JobPlan itself are canceled when the defined conditions do not occur.
-
isElseAbort
public boolean isElseAbort()
Returnstrueif the task and the JobPlan itself are canceled when the defined conditions do not occur.- Returns:
- True if "Abort" is the selected action
-
getElseExecute
public UC4ObjectName getElseExecute()
Returns the object that should be executed when a defined condition does not occur.- Returns:
- Object that should be executed
-
setElseExecute
public void setElseExecute(UC4ObjectName elseExecute)
Sets the object that should be executed when a defined condition does not occur.- Parameters:
elseExecute- Object that should be executed
-
setStatusMatchAll
public void setStatusMatchAll()
The task will only be executed if all predecessors end with the determined status (AND Link).
-
setStatusMatchOne
public void setStatusMatchOne()
The task will only be executed if at least one predecessor ends as defined (OR Link).
-
isStatusMatchAll
public boolean isStatusMatchAll()
Returnstrueif all predecessors must end with the determined status (AND Link).- Returns:
- True if all predecessors must end with the determined status
-
isStatusMatchOne
public boolean isStatusMatchOne()
Returnstrueif at least one predecessor ends as defined.- Returns:
- True if at least one predecessor ends as defined
-
iterator
public java.util.Iterator<JobPlanTaskDependency> iterator()
Returns an iterator overJobPlanTaskDependencyThis iterator cannot be used to remove dependencies. Use the methodremoveDependencyinstead.- Specified by:
iteratorin interfacejava.lang.Iterable<JobPlanTaskDependency>- Returns:
- Iterator over predecessor dependencies
-
prepareLnrSort
protected void prepareLnrSort()
-
decrementPreCounter
protected void decrementPreCounter()
-
getPreCounter
protected int getPreCounter()
-
addDependency
public void addDependency(JobPlanTask predecessor, TaskState when)
Adds a dependency.- Parameters:
predecessor- Predecessor taskwhen- Expected status of the predecessor
-
clear
public void clear()
Removes all dependencies.
-
removeDependency
public boolean removeDependency(JobPlanTaskDependency dependency)
Removes the specified dependency.- Parameters:
dependency- Task dependency- Returns:
- True if the dependecny was removed successfully
-
removeAll
protected void removeAll()
-
addSuccessorTask
public void addSuccessorTask(JobPlanTask task)
Adds the given task to the successor list.- Parameters:
task- The task to add as successor.
-
setDependencyListener
protected void setDependencyListener(IChangeListener listener)
-
size
public int size()
Gets the number of predecessor dependencies.- Returns:
- Number of dependencies.
-
successorIterator
public java.util.Iterator<JobPlanTask> successorIterator()
- Returns:
- An iterator over the successor tasks.
-
addDependency
public void addDependency(JobPlanTask task)
Adds a dependency without a certain status.- Parameters:
task- Predecessor
-
addDependency
protected void addDependency(JobPlanTask predecessor, int branchType)
Adds a dependency without a certain status.- Parameters:
task- Predecessor
-
addDependency
protected void addDependency(JobPlanTask predecessor, int branchType, TaskState taskState)
Adds a dependency with a certain status.- Parameters:
predecessor- Task to be added as dependency.branchType- Branch Type of the Dependency.taskState- Status/State of the task being added as dependency.
-
-