Package hudson.model

Class 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.

    • Field Detail

      • displayName

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

        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 Detail

      • Resource

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

        public Resource​(@CheckForNull
                        Resource parent,
                        String displayName,
                        int numConcurrentWrite)
      • Resource

        public Resource​(@NonNull
                        String displayName)
    • Method Detail

      • isCollidingWith

        public boolean isCollidingWith​(Resource that,
                                       int count)
        Checks the resource collision.
        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.
      • hashCode

        public int hashCode()
        hashCode in class Object