Package com.djrapitops.plan.query
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 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.
-