package org.mortbay.jetty.servlet.wadi; import java.util.Map; public interface WadiSession { /** * Gets the sessionId. * * @return sessionId. */ String getSessionId(); /** * Map like contract to manipulate state information. */ Object addState(String key, Object value); /** * Map like contract to manipulate state information. */ Object getState(String key); /** * Map like contract to manipulate state information. */ Object removeState(String key); /** * Map like contract to manipulate state information. * <p> * The returned Map is mutable and is backed by the session. */ Map getState(); /** * Releases the session. * <p> * When a Session is released, it is released from the underlying set of SessionManagers. In other words, its * sessionId is unknown and its state is permanently lost. After the release of a Session, the behavior of * the other methods is undefined. */ void release(); /** * Notifies the session that state accesses are now completed. * <p> * When state accesses end, the underlying local SessionManager may decide to replicate synchronously or * asynchronously the current state to remote SessionManagers. */ void onEndAccess(); }