Class NamedLockFactorySupport

java.lang.Object
org.eclipse.aether.named.support.NamedLockFactorySupport
All Implemented Interfaces:
NamedLockFactory
Direct Known Subclasses:
FileLockNamedLockFactory, LocalReadWriteLockNamedLockFactory, LocalSemaphoreNamedLockFactory, NoopNamedLockFactory

public abstract class NamedLockFactorySupport extends Object implements NamedLockFactory
Support class for NamedLockFactory implementations providing reference counting.
  • Field Details

  • Constructor Details

    • NamedLockFactorySupport

      public NamedLockFactorySupport()
  • Method Details

    • getLock

      public NamedLockSupport getLock(String name)
      Description copied from interface: NamedLockFactory
      Creates or reuses existing NamedLock. Returns instance MUST BE treated as "resource", best in try-with-resource block.
      Specified by:
      getLock in interface NamedLockFactory
      Parameters:
      name - the lock name, must not be null.
      Returns:
      named lock instance, never null.
    • shutdown

      public void shutdown()
      Description copied from interface: NamedLockFactory
      Performs a clean shut down of the factory.
      Specified by:
      shutdown in interface NamedLockFactory
    • closeLock

      public void closeLock(String name)
    • finalize

      protected void finalize() throws Throwable
      Overrides:
      finalize in class Object
      Throws:
      Throwable
    • createLock

      protected abstract NamedLockSupport createLock(String name)
      Implementations shall create and return NamedLockSupport for given name, this method must never return null.
    • destroyLock

      protected void destroyLock(String name)
      Implementation may override this (empty) method to perform some sort of implementation specific cleanup for given lock name. Invoked when reference count for given name drops to zero and named lock was removed.