Package net.javacrumbs.shedlock.core
Class AbstractSimpleLock
- java.lang.Object
-
- net.javacrumbs.shedlock.core.AbstractSimpleLock
-
- All Implemented Interfaces:
SimpleLock
public abstract class AbstractSimpleLock extends Object implements SimpleLock
-
-
Field Summary
Fields Modifier and Type Field Description protected LockConfigurationlockConfiguration
-
Constructor Summary
Constructors Modifier Constructor Description protectedAbstractSimpleLock(LockConfiguration lockConfiguration)
-
Method Summary
Modifier and Type Method Description protected Optional<SimpleLock>doExtend(LockConfiguration newConfiguration)protected abstract voiddoUnlock()@NotNull Optional<SimpleLock>extend(@NotNull Instant lockAtMostUntil, @NotNull Instant lockAtLeastUntil)Extends the lock.voidunlock()Unlocks the lock.
-
-
-
Field Detail
-
lockConfiguration
protected final LockConfiguration lockConfiguration
-
-
Constructor Detail
-
AbstractSimpleLock
protected AbstractSimpleLock(LockConfiguration lockConfiguration)
-
-
Method Detail
-
unlock
public final void unlock()
Description copied from interface:SimpleLockUnlocks the lock. Once you unlock it, you should not use for any other operation.- Specified by:
unlockin interfaceSimpleLock
-
doUnlock
protected abstract void doUnlock()
-
extend
@NotNull public final @NotNull Optional<SimpleLock> extend(@NotNull @NotNull Instant lockAtMostUntil, @NotNull @NotNull Instant lockAtLeastUntil)
Description copied from interface:SimpleLockExtends 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.
- Specified by:
extendin interfaceSimpleLock- Returns:
- a new lock or empty optional if the lock can not be extended
-
doExtend
protected Optional<SimpleLock> doExtend(LockConfiguration newConfiguration)
-
-