package org.hsweb.web.core.session;
import org.hsweb.web.bean.po.user.User;
import org.springframework.beans.factory.annotation.Autowired;
import javax.servlet.http.HttpSession;
import java.util.ArrayList;
import java.util.List;
public abstract class AbstractHttpSessionManager implements HttpSessionManager {
private List<HttpSessionManagerListener> listeners = new ArrayList<>();
protected void onUserLogin(User user,HttpSession session) {
if (listeners != null) {
listeners.forEach(listener -> listener.onUserLogin(user,session));
}
}
protected void onUserLoginOut(String userId,HttpSession session) {
if (listeners != null) {
listeners.forEach(listener -> listener.onUserLoginOut(userId,session));
}
}
@Autowired(required = false)
public void setListeners(List<HttpSessionManagerListener> listeners) {
this.listeners = listeners;
}
public List<HttpSessionManagerListener> getListeners() {
return listeners;
}
@Override
public void addListener(HttpSessionManagerListener listener) {
listeners.add(listener);
}
}