This class has three public methods:
- save(): This saves a table to the user session
- restore(): This gets a table from the user session
- reset(): This deletes any table that may be in the session
The code of the class is as follows:
public class GameSessionSaver { private static final String STATE_NAME = "GAME_STATE"; @Inject private HtmlTools html; @Inject Table table; @Inject ColorManager manager; public void save(HttpSession session) { var params = convertTableToMap(); session.setAttribute(STATE_NAME, params); } public void reset(HttpSession session) { session.removeAttribute(STATE_NAME); } public Map<String, String> restore(HttpSession session) { return (Map<String, String>) Optional.ofNullable(session.getAttribute(STATE_NAME)) ...