/* http-auth - Authentication Extensions to jdk.httpserver Copyright (C) 2021 Ulrich Hilger This program 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. This program 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 this program. If not, see . */ package de.uhilger.httpserver.auth.session; import java.util.HashMap; import java.util.Iterator; import java.util.Map; /** * * @author Ulrich Hilger * @version 1, 29.05.2021 */ public class Sessions implements SessionManager { /** zur Zeit im Gange befindliche Sessions authentifizierter Nutzer */ private final Map sessions; public Sessions() { sessions = new HashMap(); } @Override public void add(Session session) { sessions.put(session.getId(), session); } @Override public void remove(String sessionId) { sessions.remove(sessionId); } @Override public void modify(String sessionId, Session session) { sessions.remove(sessionId); sessions.put(sessionId, session); } @Override public Session get(String sessionId) { Object o = sessions.get(sessionId); if(o instanceof Session) { return (Session) o; } else { return null; } } @Override public Iterator sessions() { return sessions.values().iterator(); } }