Coverage Summary for Class: LobbyInfo (it.polimi.ingsw.Server.Messages.ServerResponses.SupportStructures)
Class |
Class, %
|
Method, %
|
Line, %
|
LobbyInfo |
0%
(0/1)
|
0%
(0/6)
|
0%
(0/11)
|
1 package it.polimi.ingsw.Server.Messages.ServerResponses.SupportStructures;
2
3 import it.polimi.ingsw.Server.Lobby;
4
5 import java.io.Serial;
6 import java.io.Serializable;
7 import java.util.List;
8 import java.util.UUID;
9
10 /**
11 * Information about a {@link Lobby} to be shared with clients
12 */
13 public class LobbyInfo implements Serializable {
14 @Serial
15 private static final long serialVersionUID = 314L;
16 private final String admin;
17 private final UUID ID;
18 private final boolean isPublic;
19 private final int maxPlayers;
20 private final List<String> players;
21
22 /**
23 * Generate the lobby info
24 *
25 * @param lobby the lobby to get the info of
26 */
27 public LobbyInfo(Lobby lobby) {
28 this.admin = lobby.getAdmin();
29 this.ID = lobby.getId();
30 this.isPublic = lobby.isPublic();
31 this.maxPlayers = lobby.getMaxPlayers();
32 this.players = lobby.getPlayers();
33 }
34
35 /**
36 * Get the admin nickname
37 *
38 * @return the admin nickname
39 */
40 public String getAdmin() {
41 return admin;
42 }
43
44 /**
45 * Get the UUID of the Lobby
46 *
47 * @return the UUID of the Lobby
48 */
49 public UUID getID() {
50 return ID;
51 }
52
53 /**
54 * Check if the Lobby is public
55 *
56 * @return true if the lobby is public
57 */
58 public boolean isPublic() {
59 return isPublic;
60 }
61
62 /**
63 * Get the maximum amount of players allowed in the lobby
64 *
65 * @return the max size of the lobby
66 */
67 public int getMaxPlayers() {
68 return maxPlayers;
69 }
70
71 /**
72 * Get connected player nicknames
73 *
74 * @return an Unmodifiable {@link List} containing the connected players
75 */
76 public List<String> getPlayers() {
77 return List.copyOf(players);
78 }
79 }