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) Check that schema has table you are using in your queries.boolean
doesDBHaveTableColumn
(String table, String column) Check that schema table has a column you are using in your queries.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) Fetch name of a player by UUID.long
fetchPlaytime
(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
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
Get the UUIDs of all servers Plan has registered.- Returns:
- Set of Server UUIDs
-
fetchUUIDOf
Fetch UUID of a player by name.- Parameters:
playerName
- Name of the player- Returns:
- UUID if it is found by Plan or empty if not found.
-
fetchNameOf
Fetch name of a player by UUID.- Parameters:
playerUUID
- UUID of the player- Returns:
- Name if it is known by Plan or empty if not.
-
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
Check that schema table has a column you are using in your queries.- Parameters:
table
- Name of the table, e.g. plan_users.column
- Name of the column, e.g. id- Returns:
- true if table and column exist.
-
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.
-