Class DistributedLockMock

java.lang.Object
com.coditory.sherlock.test.DistributedLockMock
All Implemented Interfaces:
DistributedLock

public final class DistributedLockMock extends Object implements DistributedLock
  • Method Details

    • releasedInMemoryLock

      @NotNull public static @NotNull DistributedLockMock releasedInMemoryLock()
    • acquiredInMemoryLock

      @NotNull public static @NotNull DistributedLockMock acquiredInMemoryLock()
    • releasedInMemoryLock

      @NotNull public static @NotNull DistributedLockMock releasedInMemoryLock(@NotNull @NotNull String lockId)
    • acquiredInMemoryLock

      @NotNull public static @NotNull DistributedLockMock acquiredInMemoryLock(@NotNull @NotNull String lockId)
    • releasedReentrantInMemoryLock

      @NotNull public static @NotNull DistributedLockMock releasedReentrantInMemoryLock()
    • acquiredReentrantInMemoryLock

      @NotNull public static @NotNull DistributedLockMock acquiredReentrantInMemoryLock()
    • releasedReentrantInMemoryLock

      @NotNull public static @NotNull DistributedLockMock releasedReentrantInMemoryLock(@NotNull @NotNull String lockId)
    • acquiredReentrantInMemoryLock

      @NotNull public static @NotNull DistributedLockMock acquiredReentrantInMemoryLock(@NotNull @NotNull String lockId)
    • lockStub

      @NotNull public static @NotNull DistributedLockMock lockStub(boolean result)
    • lockStub

      @NotNull public static @NotNull DistributedLockMock lockStub(boolean acquireResult, boolean releaseResult)
    • lockStub

      @NotNull public static @NotNull DistributedLockMock lockStub(@NotNull @NotNull String lockId, boolean result)
    • lockStub

      @NotNull public static @NotNull DistributedLockMock lockStub(@NotNull @NotNull String lockId, boolean acquireResult, boolean releaseResult)
    • sequencedLock

      @NotNull public static @NotNull DistributedLockMock sequencedLock(@NotNull @NotNull List<Boolean> acquireResults, @NotNull @NotNull List<Boolean> releaseResults)
    • sequencedLock

      @NotNull public static @NotNull DistributedLockMock sequencedLock(@NotNull @NotNull String lockId, @NotNull @NotNull List<Boolean> acquireResults, @NotNull @NotNull List<Boolean> releaseResults)
    • getId

      @NotNull public @NotNull String getId()
      Description copied from interface: DistributedLock
      Returns the lock id.
      Specified by:
      getId in interface DistributedLock
      Returns:
      the lock id
    • acquire

      public boolean acquire()
      Description copied from interface: DistributedLock
      Tries to acquire the lock.

      Lock is acquired for a pre-configured duration. I lock is not released manually, it becomes released after expiration time.

      Specified by:
      acquire in interface DistributedLock
      Returns:
      true if lock is acquired
    • acquire

      public boolean acquire(@NotNull @NotNull Duration duration)
      Description copied from interface: DistributedLock
      Tries to acquire the lock for a given duration.

      If lock is not released manually, it becomes released after expiration time.

      Specified by:
      acquire in interface DistributedLock
      Parameters:
      duration - lock expiration time when release is not executed
      Returns:
      true if lock is acquired
    • acquireForever

      public boolean acquireForever()
      Description copied from interface: DistributedLock
      Tries to acquire the lock without expiration date.

      It is potentially dangerous. Lookout for a situation when the lock owning instance goes down without releasing the lock.

      Specified by:
      acquireForever in interface DistributedLock
      Returns:
      true if lock is acquired
    • release

      public boolean release()
      Description copied from interface: DistributedLock
      Tries to release the lock.
      Specified by:
      release in interface DistributedLock
      Returns:
      true if lock was released by this method invocation. If lock has expired or was released earlier then false is returned.
    • successfulReleases

      public int successfulReleases()
      Returns:
      the count of successful releases
    • successfulAcquisitions

      public int successfulAcquisitions()
      Returns:
      the count of successful acquisitions
    • releases

      public int releases()
      Returns:
      the count of all releases (successful and unsuccessful)
    • acquisitions

      public int acquisitions()
      Returns:
      the count of all acquisitions (successful and unsuccessful)
    • rejectedReleases

      public int rejectedReleases()
      Returns:
      the count of rejected releases
    • rejectedAcquisitions

      public int rejectedAcquisitions()
      Returns:
      the count of rejected acquisitions
    • wasAcquired

      public boolean wasAcquired()
      Returns:
      true if lock was successfully acquired at least once
    • wasReleased

      public boolean wasReleased()
      Returns:
      true if lock was successfully released at least once
    • wasAcquiredAndReleased

      public boolean wasAcquiredAndReleased()
      Returns:
      true if lock was successfully acquired and released
    • wasAcquireRejected

      public boolean wasAcquireRejected()
      Returns:
      true if lock was acquired without success at least once
    • wasReleaseRejected

      public boolean wasReleaseRejected()
      Returns:
      true if lock was released without success at least once
    • wasAcquireInvoked

      public boolean wasAcquireInvoked()
      Returns:
      true if acquire operation was invoked at least once
    • wasReleaseInvoked

      public boolean wasReleaseInvoked()
      Returns:
      true if release operation was invoked at least once