Class SessionCache

java.lang.Object
com.djrapitops.plan.gathering.cache.SessionCache

@Singleton public class SessionCache extends Object
This class is used to store active sessions of players in memory.
  • Constructor Details

    • SessionCache

      @Inject public SessionCache()
  • Method Details

    • getActiveSessions

      public static Collection<ActiveSession> getActiveSessions()
    • clear

      public static void clear()
    • refreshActiveSessionsState

      public static void refreshActiveSessionsState()
    • getCachedSession

      public static Optional<ActiveSession> getCachedSession(UUID playerUUID)
      Used to get the Session of the player in the sessionCache.
      Parameters:
      playerUUID - UUID of the player.
      Returns:
      Optional with the session inside it if found.
    • cacheSession

      public Optional<FinishedSession> cacheSession(UUID playerUUID, ActiveSession newSession)
      Cache a new session.
      Parameters:
      playerUUID - UUID of the player
      newSession - Session to cache.
      Returns:
      Optional: previous session. Recipients of this object should decide if it needs to be saved.
    • endSession

      public Optional<FinishedSession> endSession(UUID playerUUID, long time, ActiveSession activeSession)
      End a session and save it to database.
      Parameters:
      playerUUID - UUID of the player.
      time - Time the session ended.
      activeSession - Currently active session
      Returns:
      Optional: ended session. Recipients of this object should decide if it needs to be saved.
    • endSession

      public Optional<FinishedSession> endSession(UUID playerUUID, PlayerLeave leave)
    • endSession

      public Optional<FinishedSession> endSession(UUID playerUUID, long time)