Interface CommonQueries


public interface CommonQueries
Class that allows performing most commonly wanted queries.

This exists so that SQL does not necessarily need to be written. Obtain an instance from QueryService.

  • Method Details

    • fetchPlaytime

      long fetchPlaytime(UUID playerUUID, UUID serverUUID, long after, long before)
      Fetch playtime of a player on a server.

      Returns 0 for any non existing players or servers.

      Parameters:
      playerUUID - UUID of the player.
      serverUUID - UUID of the Plan server.
      after - Data after this Epoch ms should be fetched
      before - Data before this Epoch ms should be fetched
      Returns:
      Milliseconds the player has played with the defined parameters.
    • fetchCurrentSessionPlaytime

      long fetchCurrentSessionPlaytime(UUID playerUUID)
      Get playtime of current online session.

      Requires Capability QUERY_API_ACTIVE_SESSION_PLAYTIME

      Parameters:
      playerUUID - UUID of the player.
      Returns:
      Milliseconds the player has played during current online session. 0 if player is offline.
    • fetchLastSeen

      long fetchLastSeen(UUID playerUUID, UUID serverUUID)
      Fetch last seen Epoch ms for a player on a server.
      Parameters:
      playerUUID - UUID of the player.
      serverUUID - UUID of the Plan server.
      Returns:
      Epoch ms the player was last seen, 0 if player has not played on server.
    • fetchServerUUIDs

      Set<UUID> fetchServerUUIDs()
    • fetchUUIDOf

      Optional<UUID> fetchUUIDOf(String playerName)
    • fetchNameOf

      Optional<String> fetchNameOf(UUID playerUUID)
    • doesDBHaveTable

      boolean doesDBHaveTable(String table)
    • doesDBHaveTableColumn

      boolean doesDBHaveTableColumn(String table, String column)
    • fetchActivityIndexOf

      double fetchActivityIndexOf(UUID playerUUID, long epochMs)
      Calculates the activity index for the player at a specific date.
      Parameters:
      playerUUID - UUID of the player.
      epochMs - Epoch millisecond to use for calculation
      Returns:
      a double between 0.0 and 5.0.
    • getActivityGroupForIndex

      String getActivityGroupForIndex(double activityIndex)
      Get a String that represents the Activity group for an index.
      Parameters:
      activityIndex - a double between 0.0 and 5.0.
      Returns:
      Name of the group (in English) that this activityIndex falls within.