blob: caae8d57c9f90d38e0f086d1bc5b3ca0e7a873d5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
package de.cowtipper.cowlection.handler;
import com.google.common.collect.EvictingQueue;
import java.util.SortedSet;
import java.util.TreeSet;
@SuppressWarnings("UnstableApiUsage")
public class PlayerCache {
private final EvictingQueue<String> nameCache = EvictingQueue.create(50);
private final EvictingQueue<String> friendCache = EvictingQueue.create(100);
public PlayerCache() {
}
public void add(String name) {
// remove old entry (if exists) to 'push' name to the end of the queue
nameCache.remove(name);
nameCache.add(name);
}
public void addFriend(String name) {
// remove old entry (if exists) to 'push' name to the end of the queue
friendCache.remove(name);
friendCache.add(name);
}
public void removeFriend(String name) {
friendCache.remove(name);
}
public SortedSet<String> getAllNamesSorted() {
SortedSet<String> nameList = new TreeSet<>(String.CASE_INSENSITIVE_ORDER);
nameList.addAll(friendCache);
nameList.addAll(nameCache);
return nameList;
}
public void clearAllCaches() {
nameCache.clear();
friendCache.clear();
}
}
|