## Uses of Interface
org.eclipse.rdf4j.common.concurrent.locks.Lock

- Packages that use Lock
  Package | Description
  --- | ---
  org.eclipse.rdf4j.common.concurrent.locks | Package offering various locking scheme implementations.
  org.eclipse.rdf4j.common.concurrent.locks.diagnostics |
  org.eclipse.rdf4j.sail | RDF Storage And Inference Layer (RDF Sail): a set of interfaces defining an SPI for RDF databases.
  org.eclipse.rdf4j.sail.helpers | Abstract base implementation and internal helper classes for Sail implementations.
  org.eclipse.rdf4j.sail.lmdb | The LMDB based Store.
  org.eclipse.rdf4j.sail.nativerdf | The Native Store.

- - ### Uses of Lock in org.eclipse.rdf4j.common.concurrent.locks

    Classes in org.eclipse.rdf4j.common.concurrent.locks with type parameters of type Lock
    Modifier and Type | Interface | Description
    --- | --- | ---
    `static interface` | `Lock.ExtendedSupplier<T extends Lock>` | Extension of the Lock.Supplier interface to support tryLock().
    `static class` | `Lock.ExtendedSupplier.Wrapper<T extends Lock>` |
    `static interface` | `Lock.Supplier<T extends Lock>` | Functional interface for supplying a lock with support for InterruptedException.

    Classes in org.eclipse.rdf4j.common.concurrent.locks that implement Lock
    Modifier and Type | Class | Description
    --- | --- | ---
    `static class` | `StampedLockManager.OptimisticReadLock` |

    Methods in org.eclipse.rdf4j.common.concurrent.locks with type parameters of type Lock
    Modifier and Type | Method | Description
    --- | --- | ---
    `static <T extends Lock> Lock.ExtendedSupplier.Wrapper<T>` | Lock.ExtendedSupplier.`wrap​(Lock.Supplier<T> getLockSupplier, Lock.Supplier<T> tryLockSupplier)` |

    Methods in org.eclipse.rdf4j.common.concurrent.locks that return Lock
    Modifier and Type | Method | Description
    --- | --- | ---
    `Lock` | StampedLockManager.`convertToReadLock​(Lock writeLock)` | Convert a write lock to a read lock.
    `Lock` | LockManager.`createLock​(String alias)` |
    `Lock` | ExclusiveLockManager.`getExclusiveLock()` |
    `Lock` | AbstractReadWriteLockManager.`getReadLock()` | Gets a read lock.
    `Lock` | ReadWriteLockManager.`getReadLock()` | Gets a read lock.
    `Lock` | StampedLockManager.`getReadLock()` | Gets a read lock.
    `Lock` | AbstractReadWriteLockManager.`getWriteLock()` | Gets an exclusive write lock.
    `Lock` | ReadWriteLockManager.`getWriteLock()` | Gets an exclusive write lock.
    `Lock` | StampedLockManager.`getWriteLock()` | Gets an exclusive write lock.
    `Lock` | ExclusiveLockManager.`tryExclusiveLock()` |
    `Lock` | AbstractReadWriteLockManager.`tryReadLock()` | Gets a read lock, if available.
    `Lock` | ReadWriteLockManager.`tryReadLock()` | Gets a read lock, if available.
    `Lock` | StampedLockManager.`tryReadLock()` | Gets a read lock, if available.
    `Lock` | AbstractReadWriteLockManager.`tryWriteLock()` | Gets an exclusive write lock, if available.
    `Lock` | ReadWriteLockManager.`tryWriteLock()` | Gets an exclusive write lock, if available.
    `Lock` | StampedLockManager.`tryWriteLock()` | Gets an exclusive write lock, if available.

    Methods in org.eclipse.rdf4j.common.concurrent.locks with parameters of type Lock
    Modifier and Type | Method | Description
    --- | --- | ---
    `Lock` | StampedLockManager.`convertToReadLock​(Lock writeLock)` | Convert a write lock to a read lock.
    `static <T,​R extends Exception> CloseableIteration<T,​R>` | LockingIteration.`getInstance​(Lock lock, CloseableIteration<T,​R> iter)` |

    Constructors in org.eclipse.rdf4j.common.concurrent.locks with parameters of type Lock
    Constructor | Description
    --- | ---
    `LockingIteration​(Lock lock, Iteration<? extends E,​X> iter)` | Creates a new LockingIteration.

  - ### Uses of Lock in org.eclipse.rdf4j.common.concurrent.locks.diagnostics

    Classes in org.eclipse.rdf4j.common.concurrent.locks.diagnostics with type parameters of type Lock
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `LockCleaner<T extends Lock>` | Automatically log and release locks that are no longer referenced and will be garbage collected.
    `static class` | `LockCleaner.CleanableLock<T extends Lock>` |
    `interface` | `LockMonitoring<T extends Lock>` | Interface to support monitoring and cleaning of locks.
    `static class` | `LockMonitoring.Wrapper<T extends Lock>` |
    `class` | `LockTracking<T extends Lock>` | Full tracking of locks with simple deadlock detection and logging as well as automatic release of abandoned locks (same as LockCleaner).
    `static class` | `LockTracking.SimpleLock<T extends Lock>` |

    Classes in org.eclipse.rdf4j.common.concurrent.locks.diagnostics that implement Lock
    Modifier and Type | Class | Description
    --- | --- | ---
    `static class` | `LockCleaner.CleanableLock<T extends Lock>` |
    `static class` | `LockTracking.SimpleLock<T extends Lock>` |

    Methods in org.eclipse.rdf4j.common.concurrent.locks.diagnostics with type parameters of type Lock
    Modifier and Type | Method | Description
    --- | --- | ---
    `static <T extends Lock> LockMonitoring<T>` | LockMonitoring.`wrap​(Lock.ExtendedSupplier<T> supplier)` |

    Methods in org.eclipse.rdf4j.common.concurrent.locks.diagnostics that return Lock
    Modifier and Type | Method | Description
    --- | --- | ---
    `Lock` | LockCleaner.`getLock()` |
    `Lock` | LockMonitoring.`getLock()` |
    `default Lock` | LockMonitoring.`getLock​(String alias)` |
    `Lock` | LockMonitoring.Wrapper.`getLock()` |
    `Lock` | LockTracking.`getLock()` |
    `Lock` | LockTracking.`getLock​(String alias)` |
    `Lock` | LockCleaner.`register​(T lock)` |
    `Lock` | LockMonitoring.`register​(T lock)` |
    `Lock` | LockMonitoring.Wrapper.`register​(Lock lock)` |
    `Lock` | LockTracking.`register​(T lock)` |
    `Lock` | LockCleaner.`tryLock()` |
    `Lock` | LockMonitoring.`tryLock()` |
    `Lock` | LockMonitoring.Wrapper.`tryLock()` |
    `Lock` | LockTracking.`tryLock()` |

    Methods in org.eclipse.rdf4j.common.concurrent.locks.diagnostics with parameters of type Lock
    Modifier and Type | Method | Description
    --- | --- | ---
    `Lock` | LockMonitoring.Wrapper.`register​(Lock lock)` |
    `void` | LockCleaner.`unregister​(Lock lock)` |
    `void` | LockMonitoring.`unregister​(Lock lock)` |
    `void` | LockMonitoring.Wrapper.`unregister​(Lock lock)` |
    `void` | LockTracking.`unregister​(Lock lock)` |
    `T` | LockCleaner.`unsafeInnerLock​(Lock lock)` |
    `T` | LockMonitoring.`unsafeInnerLock​(Lock lock)` |
    `T` | LockMonitoring.Wrapper.`unsafeInnerLock​(Lock lock)` |
    `T` | LockTracking.`unsafeInnerLock​(Lock lock)` |

  - ### Uses of Lock in org.eclipse.rdf4j.sail

    Methods in org.eclipse.rdf4j.sail that return Lock
    Modifier and Type | Method | Description
    --- | --- | ---
    `Lock` | LockManager.`lockOrFail()` | Creates a lock in a SAIL if it does not yet exist.
    `Lock` | LockManager.`tryLock()` | Creates a lock in a SAIL if it does not yet exist.

  - ### Uses of Lock in org.eclipse.rdf4j.sail.helpers

    Methods in org.eclipse.rdf4j.sail.helpers that return Lock
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected Lock` | AbstractSailConnection.`getExclusiveConnectionLock()` | Deprecated. Use `AbstractSailConnection.connectionLock` directly instead.
    `protected Lock` | AbstractSailConnection.`getSharedConnectionLock()` | Deprecated. Use `AbstractSailConnection.connectionLock` directly instead.
    `protected Lock` | AbstractSailConnection.`getTransactionLock()` | Deprecated. Use `AbstractSailConnection.updateLock` directly instead.
    `Lock` | DirectoryLockManager.`lockOrFail()` | Creates a lock in a directory if it does not yet exist.
    `Lock` | DirectoryLockManager.`tryLock()` | Creates a lock in a directory if it does not yet exist.

  - ### Uses of Lock in org.eclipse.rdf4j.sail.lmdb

    Methods in org.eclipse.rdf4j.sail.lmdb that return Lock
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected Lock` | LmdbStore.`getTransactionLock​(IsolationLevel level)` | This call will block when `IsolationLevels.NONE` is provided when there are active transactions with a higher isolation and block when a higher isolation is provided when there are active transactions with `IsolationLevels.NONE` isolation.

  - ### Uses of Lock in org.eclipse.rdf4j.sail.nativerdf

    Methods in org.eclipse.rdf4j.sail.nativerdf that return Lock
    Modifier and Type | Method | Description
    --- | --- | ---
    `Lock` | ValueStore.`getReadLock()` | Gets a read lock on this value store that can be used to prevent values from being removed while the lock is active.
    `protected Lock` | NativeStore.`getTransactionLock​(IsolationLevel level)` | This call will block when `IsolationLevels.NONE` is provided when there are active transactions with a higher isolation and block when a higher isolation is provided when there are active transactions with `IsolationLevels.NONE` isolation.