getPlayerUsername(UUID)   A
last analyzed

Complexity

Conditions 1

Size

Total Lines 3
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 3
dl 0
loc 3
rs 10
c 0
b 0
f 0
1
package de.pewpewproject.lasertag.lasertaggame.state.synced.implementation;
2
3
import de.pewpewproject.lasertag.lasertaggame.state.synced.IPlayerNamesState;
4
5
import java.util.HashMap;
6
import java.util.UUID;
7
import java.util.function.Consumer;
8
9
/**
10
 * Implementation of IPlayerNamesState for the lasertag game.
11
 *
12
 * @author Étienne Muser
13
 */
14
public class PlayerNamesState implements IPlayerNamesState {
15
16
    private final HashMap<UUID, String> playerUsernameCache = new HashMap<>();
17
18
    @Override
19
    public synchronized void savePlayerUsername(UUID playerUuid, String playerUsername) {
20
        playerUsernameCache.put(playerUuid, playerUsername);
21
    }
22
23
    @Override
24
    public synchronized String getPlayerUsername(UUID playerUuid) {
25
        return playerUsernameCache.get(playerUuid);
26
    }
27
28
    @Override
29
    public synchronized void forEachPlayer(Consumer<UUID> consumer) {
30
31
        for (var playerUuid : playerUsernameCache.keySet()) {
32
33
            consumer.accept(playerUuid);
34
        }
35
    }
36
}
37