Search in sources :

Example 1 with Pair

use of com.voxelgameslib.voxelgameslib.utils.Pair in project VoxelGamesLibv2 by VoxelGamesLib.

the class HibernatePersistenceProvider method getTop.

@Override
public List<Pair<Component, Double>> getTop(Trackable type, int amount) {
    return session(session -> {
        Query query = session.createQuery("select user.displayName, stat.val from StatInstance stat, UserData user\n" + "where user.uuid = stat.uuid\n" + "and stat.statType = :type\n" + "order by stat.val desc");
        query.setParameter("type", type);
        query.setMaxResults(amount);
        List<Pair<Component, Double>> result = new ArrayList<>();
        // noinspection unchecked
        for (Object[] row : (List<Object[]>) query.getResultList()) {
            result.add(new Pair<>((Component) row[0], (Double) row[1]));
        }
        return result;
    });
}
Also used : Query(org.hibernate.query.Query) ArrayList(java.util.ArrayList) ArrayList(java.util.ArrayList) List(java.util.List) Component(net.kyori.text.Component) Pair(com.voxelgameslib.voxelgameslib.utils.Pair)

Aggregations

Pair (com.voxelgameslib.voxelgameslib.utils.Pair)1 ArrayList (java.util.ArrayList)1 List (java.util.List)1 Component (net.kyori.text.Component)1 Query (org.hibernate.query.Query)1