package fr.lyrgard.hexScape.model.room;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import fr.lyrgard.hexScape.model.game.Game;
import fr.lyrgard.hexScape.model.player.User;
public class Room {
public static final String DEFAULT_ROOM_ID = "HEXSCAPE";
private String id;
private String name;
private Collection<Game> games;
private Collection<User> users;
@JsonIgnore
private static ObjectMapper mapper = new ObjectMapper();
public static Room fromJson(String string) throws JsonParseException, JsonMappingException, IOException {
return mapper.readValue(string, Room.class);
}
public String toJson() throws JsonProcessingException {
return mapper.writeValueAsString(this);
}
public Collection<User> getUsers() {
if (users == null) {
users = new ArrayList<>();
}
return users;
}
public Collection<Game> getGames() {
if (games == null) {
games = new ArrayList<>();
}
return games;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
}