Class SessionLock.AbstractLockCount
java.lang.Object
de.aristaflow.adept2.base.sessionmanagement.SessionLock.AbstractLockCount
- All Implemented Interfaces:
LockCountManager<SessionToken>
- Direct Known Subclasses:
SessionLock.ChildSessionIDLockCount,SessionLock.SessionIdLockCount
- Enclosing class:
- SessionLock
public static class SessionLock.AbstractLockCount
extends Object
implements LockCountManager<SessionToken>
A
LockCountManager counting session tokens with an equality based on the UUID
returned by a Function provided by subclasses.-
Constructor Summary
ConstructorsConstructorDescriptionAbstractLockCount(Function<SessionToken, UUID> idFunction) Creates a newLockCountManagerfor session tokens with an equality based on the session IDs provided by the designated function. -
Method Summary
Modifier and TypeMethodDescriptionintdecreaseAndGetLockCount(SessionToken session) Decreases the number of times the designated object holds the lock.Returns a string representation of one object that currently has a lock.booleanhasLock(SessionToken session) Returns whether the designated object has a lock at least once.booleanhasLocks()Returns whether this lock count manager knows at least one object that has a lock.intincreaseAndGetLockCount(SessionToken session) Increases the number of times the designated object holds the lock.
-
Constructor Details
-
AbstractLockCount
Creates a newLockCountManagerfor session tokens with an equality based on the session IDs provided by the designated function.- Parameters:
idFunction- The function returning a UUID for a session token.
-
-
Method Details
-
hasLock
Description copied from interface:LockCountManagerReturns whether the designated object has a lock at least once.- Specified by:
hasLockin interfaceLockCountManager<SessionToken>- Parameters:
session- The object which is checked whether it holds a lock.- Returns:
- Whether the designated object has a lock at least once.
-
hasLocks
public boolean hasLocks()Description copied from interface:LockCountManagerReturns whether this lock count manager knows at least one object that has a lock.- Specified by:
hasLocksin interfaceLockCountManager<SessionToken>- Returns:
- Whether at least one object has a lock.
-
getLockOwner
Description copied from interface:LockCountManagerReturns a string representation of one object that currently has a lock. This can be used for user information or tracking purpose. A locking object may not be returned since this would allow to unlock.- Specified by:
getLockOwnerin interfaceLockCountManager<SessionToken>- Returns:
- A string representation of one object that currently has a lock.
-
increaseAndGetLockCount
Description copied from interface:LockCountManagerIncreases the number of times the designated object holds the lock.- Specified by:
increaseAndGetLockCountin interfaceLockCountManager<SessionToken>- Parameters:
session- The object which has acquired the lock (once again).- Returns:
- The number of times the designated object has the lock after the increment.
-
decreaseAndGetLockCount
Description copied from interface:LockCountManagerDecreases the number of times the designated object holds the lock. If the object does not hold the lock, the decrement will be ignored.- Specified by:
decreaseAndGetLockCountin interfaceLockCountManager<SessionToken>- Parameters:
session- The object which has released the lock (once again).- Returns:
- The number of times the designated object has the lock after the decrement.
-