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
Modifier and TypeMethodDescriptionboolean
doesDBHaveTable(String table)
boolean
doesDBHaveTableColumn(String table, String column)
double
fetchActivityIndexOf(UUID playerUUID, long epochMs)
Calculates the activity index for the player at a specific date.long
fetchCurrentSessionPlaytime(UUID playerUUID)
Get playtime of current online session.long
fetchLastSeen(UUID playerUUID, UUID serverUUID)
Fetch last seen Epoch ms for a player on a server.fetchNameOf(UUID playerUUID)
long
fetchPlaytime(UUID playerUUID, UUID serverUUID, long after, long before)
Fetch playtime of a player on a server.fetchUUIDOf(String playerName)
getActivityGroupForIndex(double activityIndex)
Get a String that represents the Activity group for an index.
-
Method Details
-
fetchPlaytime
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
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
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
-
fetchUUIDOf
-
fetchNameOf
-
doesDBHaveTable
-
doesDBHaveTableColumn
-
fetchActivityIndexOf
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
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.
-