All Superinterfaces:
AutoCloseable

@API(status=STABLE, since="1.10") public interface ResourceLock extends AutoCloseable
A lock for a one or more resources.
Since:
1.3
See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    Acquire this resource lock, potentially blocking.
    default void
     
    Returns the exclusive resources this lock represents.
    default boolean
    Returns whether the given lock is compatible with this lock.
    boolean
    Returns whether this lock requires exclusiveness.
    void
    Release this resource lock.
  • Method Details

    • acquire

      Acquire this resource lock, potentially blocking.
      Returns:
      this lock so it can easily be used in a try-with-resources statement.
      Throws:
      InterruptedException - if the calling thread is interrupted while waiting to acquire this lock
    • release

      void release()
      Release this resource lock.
    • close

      default void close()
      Specified by:
      close in interface AutoCloseable
    • getResources

      List<ExclusiveResource> getResources()
      Returns the exclusive resources this lock represents.
      Returns:
      the exclusive resources this lock represents
    • isExclusive

      boolean isExclusive()
      Returns whether this lock requires exclusiveness.
      Returns:
      whether this lock requires exclusiveness
    • isCompatible

      default boolean isCompatible(ResourceLock other)
      Returns whether the given lock is compatible with this lock.
      Parameters:
      other - the other lock to check for compatibility
      Returns:
      whether the given lock is compatible with this lock