/** * Copyright 2010 The University of Nottingham * * This file is part of lobbyservice. * * lobbyservice is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * lobbyservice is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with lobbyservice. If not, see <http://www.gnu.org/licenses/>. * */ package uk.ac.horizon.ug.lobby.protocol; import java.util.List; import uk.ac.horizon.ug.lobby.model.GameClientTemplate; import uk.ac.horizon.ug.lobby.model.GameInstance; import uk.ac.horizon.ug.lobby.model.GameInstanceFactory; import uk.ac.horizon.ug.lobby.model.GameTemplate; /** * @author cmg * */ public class GameTemplateInfo { /** game template */ private GameTemplate gameTemplate; /** game instance - optional - used in responses to GameQuerys */ private GameInstance gameInstance; /** game instance factory - optional - used in responses to GameQuerys */ private GameInstanceFactory gameInstanceFactory; /** first game instance start time - optional, with GameInstanceFactory */ private Long firstStartTime; /** game time options - for GameInstanceFactory, based on startTimeCron */ private GameTimeOptions gameTimeOptions; /** client templates */ private List<GameClientTemplate> gameClientTemplates; /** game (template)-specific URL for lobby client interaction - query API (Template) */ private String queryUrl; /** game (factory)-specific URL for lobby client interaction - new instance API (Factory) */ private String newInstanceUrl; /** game (instance)-specific URL for lobby client interaction - reserve/join (Instance) */ private String joinUrl; /** include 'private' fields */ private boolean includePrivateFields; /** game slot id - for game instances with RESERVED slot (account/client-specific) */ private String gameSlotId; /** client id - assocated with game slot id - for game instances with RESERVED slot (account/client-specific) */ private String clientId; /** cons */ public GameTemplateInfo() { } /** * @return the gameTemplate */ public GameTemplate getGameTemplate() { return gameTemplate; } /** * @param gameTemplate the gameTemplate to set */ public void setGameTemplate(GameTemplate gameTemplate) { this.gameTemplate = gameTemplate; } /** * @return the gameClientTemplates */ public List<GameClientTemplate> getGameClientTemplates() { return gameClientTemplates; } /** * @param gameClientTemplates the gameClientTemplates to set */ public void setGameClientTemplates(List<GameClientTemplate> gameClientTemplates) { this.gameClientTemplates = gameClientTemplates; } /** * @return the queryUrl */ public String getQueryUrl() { return queryUrl; } /** * @param queryUrl the queryUrl to set */ public void setQueryUrl(String queryUrl) { this.queryUrl = queryUrl; } /** * @return the gameInstance */ public GameInstance getGameInstance() { return gameInstance; } /** * @param gameInstance the gameInstance to set */ public void setGameInstance(GameInstance gameInstance) { this.gameInstance = gameInstance; } /** * @return the joinUrl */ public String getJoinUrl() { return joinUrl; } /** * @param joinUrl the joinUrl to set */ public void setJoinUrl(String joinUrl) { this.joinUrl = joinUrl; } /** * @return the gameInstanceFactory */ public GameInstanceFactory getGameInstanceFactory() { return gameInstanceFactory; } /** * @param gameInstanceFactory the gameInstanceFactory to set */ public void setGameInstanceFactory(GameInstanceFactory gameInstanceFactory) { this.gameInstanceFactory = gameInstanceFactory; } /** * @return the firstStartTime */ public Long getFirstStartTime() { return firstStartTime; } /** * @param firstStartTime the firstStartTime to set */ public void setFirstStartTime(Long firstStartTime) { this.firstStartTime = firstStartTime; } /** * @return the gameTimeOptions */ public GameTimeOptions getGameTimeOptions() { return gameTimeOptions; } /** * @param gameTimeOptions the gameTimeOptions to set */ public void setGameTimeOptions(GameTimeOptions gameTimeOptions) { this.gameTimeOptions = gameTimeOptions; } /** * @return the newInstanceUrl */ public String getNewInstanceUrl() { return newInstanceUrl; } /** * @param newInstanceUrl the newInstanceUrl to set */ public void setNewInstanceUrl(String newInstanceUrl) { this.newInstanceUrl = newInstanceUrl; } /** * @return the includePrivateFields */ public boolean isIncludePrivateFields() { return includePrivateFields; } /** * @param includePrivateFields the includePrivateFields to set */ public void setIncludePrivateFields(boolean includePrivateFields) { this.includePrivateFields = includePrivateFields; } /** * @return the gameSlotId */ public String getGameSlotId() { return gameSlotId; } /** * @param gameSlotId the gameSlotId to set */ public void setGameSlotId(String gameSlotId) { this.gameSlotId = gameSlotId; } /** * @return the clientId */ public String getClientId() { return clientId; } /** * @param clientId the clientId to set */ public void setClientId(String clientId) { this.clientId = clientId; } }