org.jboss.weld.context.http.HttpSessionContext Maven / Gradle / Ivy
package org.jboss.weld.context.http;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.jboss.weld.context.BoundContext;
import org.jboss.weld.context.SessionContext;
/**
*
* A session context which can be bound to the {@link HttpServletRequest}. The
* context is automatically attached to the map on activation, and detached when
* {@link #invalidate()} is called.
*
*
*
* This context is not thread safe, and provides no thread safety for the
* underlying map.
*
*
*
* @author Pete Muir
*
*/
public interface HttpSessionContext extends BoundContext, SessionContext
{
/**
*
* Mark the Session Context for destruction; the Session Context will be
* detached from the underling Http Session, and instances marked for
* destruction when the Http Request is destroyed.
*
*
*/
public void invalidate();
/**
*
* Destroy the session and all conversations stored in the session.
*
*
*
* If the context is not currently associated with a
* {@link HttpServletRequest}, then the context will be associated with the
* specified {@link HttpSession} (for this thread), activated, destroyed, and
* then deactivated.
*
*
*
* If the context is already associated with a {@link HttpServletRequest}
* then this call will detach the context from the underlying Http Session,
* and mark the context for destruction when the request is destroyed.
*
*
* @param session the {@link HttpSession} in which to store the bean
* instances
* @return true if the context was destroyed immediately
*/
public boolean destroy(HttpSession session);
}