Class JobPlanDependencies

java.lang.Object
com.uc4.api.objects.JobPlanDependencies
All Implemented Interfaces:
Iterable<JobPlanTaskDependency>

public class JobPlanDependencies extends Object implements Iterable<JobPlanTaskDependency>
JobPlan task dependencies.
  • Method Details

    • 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()
      Returns true if 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 the Time for the latest end of this task.
      Returns:
      Time of the latest end
    • setLatestEndTime

      public void setLatestEndTime(Time latestEndTime)
      Sets the Time for 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 the Time for the latest start of this task.
      Returns:
      Time of the latest start
    • setLatestStartTime

      public void setLatestStartTime(Time latestStartTime)
      Sets the Time for 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()
      Returns true if the latest start time is selected.
      Returns:
      True if latest start is selected
    • isLatestEnd

      public boolean isLatestEnd()
      Returns true if 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()
      Returns true if 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()
      Returns true if 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()
      Returns true if 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()
      Returns true if 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()
      Returns true if 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()
      Returns true if at least one predecessor ends as defined.
      Returns:
      True if at least one predecessor ends as defined
    • iterator

      public Iterator<JobPlanTaskDependency> iterator()
      Returns an iterator over JobPlanTaskDependency This iterator cannot be used to remove dependencies. Use the method removeDependency instead.
      Specified by:
      iterator in interface 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 task
      when - 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 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.