package org.hsweb.web.core.session; import org.hsweb.web.bean.po.user.User; import javax.servlet.http.HttpSession; import java.util.Set; public interface HttpSessionManager { HttpSession getSessionBySessionId(String sessionId); /** * 根据登陆用户的ID 获取SessionId * * @param userId 登陆用户id * @return session ID */ String getSessionIdByUserId(String userId) ; /** * 根据sessionId 获取用户信息 * @param sessionId 根据sessionId * @return 用户信息 */ User getUserBySessionId(String sessionId) ; /** * 根据用户ID从session中删除一个用户(下线) * * @param userId 要删除的用户ID */ void removeUser(String userId) ; /** * 根据sessionId删除Session * * @param sessionId 要删除的sessionID */ void removeSession(String sessionId) ; /** * 添加一个用户 * * @param user 用户 * @param session HttpSession */ void addUser(User user, HttpSession session) ; Set<User> tryGetAllUser(); /** * 获取当前登录的所有用户ID集合 * * @return 当前登录用户ID */ Set<String> getUserIdList() ; /** * 获取当前登录用户数量 * * @return 登陆用户数量 */ int getUserTotal() ; /** * 获取所有sessionId集合 * * @return sessionId集合 */ Set<String> getSessionIdList() ; /** * 根据用户ID 判断用户是否已经登陆 * * @param userId 用户ID */ boolean isLogin(String userId); void addListener(HttpSessionManagerListener listener); }