package com.chughes.dip.data; import java.io.Serializable; import java.util.HashMap; import java.util.Map; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Repository; import dip.gui.map.DefaultMapRenderer2; import dip.world.Phase; @Repository @Scope(value="session") public class MapHolder implements Serializable{ /** * */ private static final long serialVersionUID = 1838207806369428656L; private transient Map<Integer,GameCache> games = new HashMap<Integer,GameCache>(); public void setMr(int id, DefaultMapRenderer2 mr) { if (games == null){ games = new HashMap<Integer,GameCache>(); } if (!games.containsKey(id)){ games.put(id, new GameCache()); } games.get(id).setMr(mr); } public void setPhase(int id, Phase phase) { if (games == null){ games = new HashMap<Integer,GameCache>(); } if (!games.containsKey(id)){ games.put(id, new GameCache()); } games.get(id).setPhase(phase); } public Phase getPhase(int id) { if (games == null){ games = new HashMap<Integer,GameCache>(); } return games.get(id).getPhase(); } public DefaultMapRenderer2 getMr(int id) { if (games == null){ games = new HashMap<Integer,GameCache>(); } return games.get(id).getMr(); } private class GameCache implements Serializable { private static final long serialVersionUID = 8048372343061232482L; public DefaultMapRenderer2 getMr() { return mr; } public void setMr(DefaultMapRenderer2 mr) { this.mr = mr; } public Phase getPhase() { return phase; } public void setPhase(Phase phase) { this.phase = phase; } // public GameEntity getGame() { // return game; // } // public void setGame(GameEntity game) { // this.game = game; // } private DefaultMapRenderer2 mr; private Phase phase; //private GameEntity game; } }