Interface SimpleLock

    • Method Summary

      Modifier and Type Method Description
      default @NotNull Optional<SimpleLock> extend​(@NotNull Instant lockAtMostUntil, @NotNull Instant lockAtLeastUntil)
      Extends the lock.
      void unlock()
      Unlocks the lock.
    • Method Detail

      • unlock

        void unlock()
        Unlocks the lock. Once you unlock it, you should not use for any other operation.
        Throws:
        IllegalStateException - if the lock has already been unlocked or extended
      • extend

        @NotNull
        default @NotNull Optional<SimpleLock> extend​(@NotNull
                                                     @NotNull Instant lockAtMostUntil,
                                                     @NotNull
                                                     @NotNull Instant lockAtLeastUntil)
        Extends the lock. If the lock can be extended a new lock is returned. After calling extend, no other operation can be called on current lock.

        This method is NOT supported by all lock providers.

        Returns:
        a new lock or empty optional if the lock can not be extended
        Throws:
        IllegalStateException - if the lock has already been unlocked or extended
        UnsupportedOperationException - if the lock extension is not supported by LockProvider.