Package org.eclipse.rdf4j.common.concurrent.locks.diagnostics

## Interface LockMonitoring<T extends Lock>

- All Known Implementing Classes:
    `LockCleaner`, `LockMonitoring.Wrapper`, `LockTracking`

      @InternalUseOnly
      public interface LockMonitoring<T extends Lock>

  Interface to support monitoring and cleaning of locks.
  Author:
    Håvard M. Ottestad

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Interface | Description
    --- | --- | ---
    `static class` | `LockMonitoring.Wrapper<T extends Lock>` |

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static int` | `INITIAL_WAIT_TO_COLLECT` |

  - ### Method Summary

    All Methods Static Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `Lock` | `getLock()` |
    `default Lock` | `getLock​(String alias)` |
    `Lock` | `register​(T lock)` |
    `default boolean` | `requiresManualCleanup()` |
    `default void` | `runCleanup()` |
    `Lock` | `tryLock()` |
    `void` | `unregister​(Lock lock)` |
    `T` | `unsafeInnerLock​(Lock lock)` |
    `static <T extends Lock> LockMonitoring<T>` | `wrap​(Lock.ExtendedSupplier<T> supplier)` |

- - ### Field Detail

    - #### INITIAL_WAIT_TO_COLLECT

          static final int INITIAL_WAIT_TO_COLLECT

      See Also:
        Constant Field Values

  - ### Method Detail

    - #### getLock

          Lock getLock()
                throws InterruptedException

      Throws:
        `InterruptedException`

    - #### tryLock

          Lock tryLock()

    - #### getLock

          default Lock getLock​(String alias)
                        throws InterruptedException

      Throws:
        `InterruptedException`

    - #### unsafeInnerLock

          T unsafeInnerLock​(Lock lock)

    - #### runCleanup

          default void runCleanup()

    - #### requiresManualCleanup

          default boolean requiresManualCleanup()

    - #### wrap

          static <T extends Lock> LockMonitoring<T> wrap​(Lock.ExtendedSupplier<T> supplier)

    - #### register

          Lock register​(T lock)

    - #### unregister

          void unregister​(Lock lock)