Package hudson.model

Class Resource

java.lang.Object
hudson.model.Resource

public final class Resource extends Object
Represents things that Queue.Executable uses while running.

This is used in Queue to support basic mutual exclusion/locks. If two Queue.Tasks require the same Resource, they will not be run at the same time.

Resources are compared by using their names, and need not have the "same object" semantics.

Since:
1.121
  • Field Details

    • displayName

      @NonNull public final String displayName
      Human-readable name of this resource. Used for rendering HTML.
    • parent

      @CheckForNull public final Resource parent
      Parent resource.

      A child resource is considered a part of the parent resource, so acquiring the parent resource always imply acquiring all the child resources.

    • numConcurrentWrite

      public final int numConcurrentWrite
      Maximum number of concurrent write.
  • Constructor Details

    • Resource

      public Resource(@CheckForNull Resource parent, @NonNull String displayName)
    • Resource

      public Resource(@CheckForNull Resource parent, @NonNull String displayName, int numConcurrentWrite)
      Since:
      1.155
    • Resource

      public Resource(@NonNull String displayName)
  • Method Details

    • isCollidingWith

      public boolean isCollidingWith(Resource that, int count)
      Checks the resource collision.
      Parameters:
      count - If we are testing W/W conflict, total # of write counts. For R/W conflict test, this value should be set to Integer.MAX_VALUE.
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object