Package com.djrapitops.plan.query
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 Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description boolean
doesDBHaveTable(java.lang.String table)
boolean
doesDBHaveTableColumn(java.lang.String table, java.lang.String column)
double
fetchActivityIndexOf(java.util.UUID playerUUID, long epochMs)
Calculates the activity index for the player at a specific date.long
fetchCurrentSessionPlaytime(java.util.UUID playerUUID)
Get playtime of current online session.long
fetchLastSeen(java.util.UUID playerUUID, java.util.UUID serverUUID)
Fetch last seen Epoch ms for a player on a server.java.util.Optional<java.lang.String>
fetchNameOf(java.util.UUID playerUUID)
long
fetchPlaytime(java.util.UUID playerUUID, java.util.UUID serverUUID, long after, long before)
Fetch playtime of a player on a server.java.util.Set<java.util.UUID>
fetchServerUUIDs()
java.util.Optional<java.util.UUID>
fetchUUIDOf(java.lang.String playerName)
java.lang.String
getActivityGroupForIndex(double activityIndex)
Get a String that represents the Activity group for an index.
-
-
-
Method Detail
-
fetchPlaytime
long fetchPlaytime(java.util.UUID playerUUID, java.util.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 fetchedbefore
- Data before this Epoch ms should be fetched- Returns:
- Milliseconds the player has played with the defined parameters.
-
fetchCurrentSessionPlaytime
long fetchCurrentSessionPlaytime(java.util.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(java.util.UUID playerUUID, java.util.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
java.util.Set<java.util.UUID> fetchServerUUIDs()
-
fetchUUIDOf
java.util.Optional<java.util.UUID> fetchUUIDOf(java.lang.String playerName)
-
fetchNameOf
java.util.Optional<java.lang.String> fetchNameOf(java.util.UUID playerUUID)
-
doesDBHaveTable
boolean doesDBHaveTable(java.lang.String table)
-
doesDBHaveTableColumn
boolean doesDBHaveTableColumn(java.lang.String table, java.lang.String column)
-
fetchActivityIndexOf
double fetchActivityIndexOf(java.util.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
java.lang.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.
-
-