Interface CommonQueries
- All Known Implementing Classes:
CommonQueriesImplementation
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 TypeMethodDescriptionbooleandoesDBHaveTable(String table) Check that schema has table you are using in your queries.booleandoesDBHaveTableColumn(String table, String column) Check that schema table has a column you are using in your queries.doublefetchActivityIndexOf(UUID playerUUID, long epochMs) Calculates the activity index for the player at a specific date.longfetchCurrentSessionPlaytime(UUID playerUUID) Get playtime of current online session.longfetchLastSeen(UUID playerUUID, UUID serverUUID) Fetch last seen Epoch ms for a player on a server.fetchNameOf(UUID playerUUID) Fetch name of a player by UUID.longfetchPlaytime(UUID playerUUID, UUID serverUUID, long after, long before) Fetch playtime of a player on a server.Get the UUIDs of all servers Plan has registered.fetchUUIDOf(String playerName) Fetch UUID of a player by name.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
-
fetchServerUUIDs
-
fetchUUIDOf
-
fetchNameOf
-
doesDBHaveTable
Check that schema has table you are using in your queries.- Parameters:
table- Name of the table, e.g. plan_users.- Returns:
- true if table exists.
-
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.
-