Class SessionLock.AbstractLockCount

    • Constructor Detail

      • AbstractLockCount

        public AbstractLockCount​(Function<SessionToken,​UUID> idFunction)
        Creates a new LockCountManager for 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 Detail

      • hasLock

        public boolean hasLock​(SessionToken session)
        Description copied from interface: LockCountManager
        Returns whether the designated object has a lock at least once.
        Specified by:
        hasLock in interface LockCountManager<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: LockCountManager
        Returns whether this lock count manager knows at least one object that has a lock.
        Specified by:
        hasLocks in interface LockCountManager<SessionToken>
        Returns:
        Whether at least one object has a lock.
      • getLockOwner

        public String getLockOwner()
        Description copied from interface: LockCountManager
        Returns 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:
        getLockOwner in interface LockCountManager<SessionToken>
        Returns:
        A string representation of one object that currently has a lock.
      • increaseAndGetLockCount

        public int increaseAndGetLockCount​(SessionToken session)
        Description copied from interface: LockCountManager
        Increases the number of times the designated object holds the lock.
        Specified by:
        increaseAndGetLockCount in interface LockCountManager<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

        public int decreaseAndGetLockCount​(SessionToken session)
        Description copied from interface: LockCountManager
        Decreases 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:
        decreaseAndGetLockCount in interface LockCountManager<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.