/** * <p> * Session managers are responsible for managing the {@link PicketBoxSession} instances. Session managers usually delegate the * storage of sessions to {@link SessionStore} implementations. * </p> * * @author Anil Saldhana * @author <a href="mailto:psilva@redhat.com">Pedro Silva</a> * * @see SessionStore */ public interface SessionManager extends PicketBoxLifecycle { /** * Construct a session * * @param authenticatedSubject * @return */ PicketBoxSession create(PicketBoxSubject authenticatedSubject); /** * <p> * Retrieve a {@link PicketBoxSession} using its {@link SessionId}. * </p> * * @param id * @return */ PicketBoxSession retrieve(SessionId<? extends Serializable> id); /** * <p> * Removes a {@link PicketBoxSession}. * </p> * @param session */ void remove(PicketBoxSession session); /** * <p> * Updates a {@link PicketBoxSession}. * </p> * * @param session */ void update(PicketBoxSession session); }