Class QueueTaskFilter

java.lang.Object
hudson.model.queue.QueueTaskFilter
All Implemented Interfaces:
ModelObject, SubTask, Queue.Task, ResourceActivity

public abstract class QueueTaskFilter extends Object implements Queue.Task
Base class for defining filter Queue.Task.
Since:
1.360
Author:
Kohsuke Kawaguchi
  • Constructor Details

    • QueueTaskFilter

      protected QueueTaskFilter(Queue.Task base)
  • Method Details

    • getAssignedLabel

      public Label getAssignedLabel()
      Description copied from interface: SubTask
      If this task needs to be run on a node with a particular label, return that Label. Otherwise null, indicating it can run on anywhere.
      Specified by:
      getAssignedLabel in interface SubTask
      Returns:
      by default, null
    • getLastBuiltOn

      @Deprecated public Node getLastBuiltOn()
      Deprecated.
      Description copied from interface: SubTask
      If the previous execution of this task run on a certain node and this task prefers to run on the same node, return that. Otherwise null.
      Specified by:
      getLastBuiltOn in interface SubTask
      Returns:
      by default, null
    • isBuildBlocked

      @Deprecated public boolean isBuildBlocked()
      Deprecated.
      Description copied from interface: Queue.Task
      Returns true if the execution should be blocked for temporary reasons.
      Specified by:
      isBuildBlocked in interface Queue.Task
    • getWhyBlocked

      @Deprecated public String getWhyBlocked()
      Deprecated.
      Specified by:
      getWhyBlocked in interface Queue.Task
    • getCauseOfBlockage

      public CauseOfBlockage getCauseOfBlockage()
      Description copied from interface: Queue.Task
      If the execution of this task should be blocked for temporary reasons, this method returns a non-null object explaining why.

      Otherwise this method returns null, indicating that the build can proceed right away.

      This can be used to define mutual exclusion that goes beyond ResourceActivity.getResourceList().

      Specified by:
      getCauseOfBlockage in interface Queue.Task
      Returns:
      by default, null
    • getName

      public String getName()
      Description copied from interface: Queue.Task
      Unique name of this task.

      This method is no longer used, left here for compatibility. Just return ModelObject.getDisplayName().

      Specified by:
      getName in interface Queue.Task
    • getFullDisplayName

      public String getFullDisplayName()
      Specified by:
      getFullDisplayName in interface Queue.Task
      See Also:
    • getEstimatedDuration

      public long getEstimatedDuration()
      Description copied from interface: SubTask
      Estimate of how long will it take to execute this task. Measured in milliseconds.
      Specified by:
      getEstimatedDuration in interface SubTask
      Returns:
      -1 if it's impossible to estimate (the default)
    • createExecutable

      @CheckForNull public Queue.Executable createExecutable() throws IOException
      Description copied from interface: SubTask
      Creates an object which performs the actual execution of the task.
      Specified by:
      createExecutable in interface SubTask
      Returns:
      executable to be launched or null if the executable cannot be created (e.g. AbstractProject is disabled)
      Throws:
      IOException - executable cannot be created
    • checkAbortPermission

      public void checkAbortPermission()
      Description copied from interface: Queue.Task
      Checks the permission to see if the current user can abort this executable. Returns normally from this method if it's OK.

      NOTE: If you have implemented AccessControlled this defaults to checkPermission(hudson.model.Item.CANCEL);

      Specified by:
      checkAbortPermission in interface Queue.Task
    • hasAbortPermission

      public boolean hasAbortPermission()
      Description copied from interface: Queue.Task
      Works just like Queue.Task.checkAbortPermission() except it indicates the status by a return value, instead of exception. Also used by default for QueueItem.hasCancelPermission().

      NOTE: If you have implemented AccessControlled this returns by default return hasPermission(hudson.model.Item.CANCEL);

      Specified by:
      hasAbortPermission in interface Queue.Task
      Returns:
      false if the user doesn't have the permission.
    • getUrl

      public String getUrl()
      Description copied from interface: Queue.Task
      Returns the URL of this task relative to the context root of the application.

      When the user clicks an item in the queue, this is the page where the user is taken to. Hudson expects the current instance to be bound to the URL returned by this method.

      Specified by:
      getUrl in interface Queue.Task
      Returns:
      URL that ends with '/'.
    • isConcurrentBuild

      public boolean isConcurrentBuild()
      Description copied from interface: Queue.Task
      True if the task allows concurrent builds, where the same Queue.Task is executed by multiple executors concurrently on the same or different nodes.
      Specified by:
      isConcurrentBuild in interface Queue.Task
      Returns:
      by default, false
    • getDisplayName

      public String getDisplayName()
      Description copied from interface: ResourceActivity
      Used for rendering HTML.
      Specified by:
      getDisplayName in interface ModelObject
      Specified by:
      getDisplayName in interface ResourceActivity
    • getResourceList

      public ResourceList getResourceList()
      Description copied from interface: ResourceActivity
      Gets the list of Resources that this task requires. Used to make sure no two conflicting tasks run concurrently.

      This method must always return the ResourceList that contains the exact same set of Resources.

      If the activity doesn't lock any resources, just return ResourceList.EMPTY (or decline to override).

      Specified by:
      getResourceList in interface ResourceActivity
      Returns:
      never null
    • getSubTasks

      public Collection<? extends SubTask> getSubTasks()
      Description copied from interface: Queue.Task
      Obtains the SubTasks that constitute this task.

      The collection returned by this method must also contain the primary SubTask represented by this Queue.Task object itself as the first element. The returned value is read-only.

      At least size 1.

      Specified by:
      getSubTasks in interface Queue.Task
      Returns:
      by default, this
    • getSameNodeConstraint

      public Object getSameNodeConstraint()
      Description copied from interface: SubTask
      If a subset of SubTasks of a Queue.Task needs to be collocated with other SubTasks, those SubTasks should return the equal object here. If null, the execution unit isn't under a colocation constraint.
      Specified by:
      getSameNodeConstraint in interface SubTask
      Returns:
      by default, null