Differences between revisions 1 and 2
Revision 1 as of 2005-09-26 11:25:30
Size: 1286
Comment:
Revision 2 as of 2009-09-20 22:01:37
Size: 1286
Editor: localhost
Comment: converted to 1.6 markup
No differences found!

/*
 * Created on 31.05.2005
 */
package scm.hivemind.statefulservice;

import javax.servlet.http.HttpSession;



/**
 * Provides storage for stateful (long-lived) services. Should normally use
 * a HTTP-Session which must be provided to it externally (by some Filter).
 * For testing outside of a servlet-container it can also use an own,
 * Map-based implementation.
 * 
 * @author Marcus Schulte
 */
public interface ClientStateStorage {
        /**
         * provides the current user's session to the Storage. should be called
         * by a filter at the beginning of each request.
         * 
         * @param session
         */
        void provideSession( HttpSession session );
        
        
        /**
         * store a service.
         * 
         * @param key
         * @param obj
         */
        void store( String key, StateStorageClearanceListener obj);
        
        /**
         * retrieve a service.
         * 
         * @param key
         * @return
         */
        StateStorageClearanceListener retrieve( String key );
        
        
        /**
         * <b> testing only </b> clears the client store with the given Id
         * 
         * @param clientId
         */
        void clear( String clientId );

        /**
         * <b> testing only </b> sets the client store to the one 
         * with the given Id, creating it as needed.
         * 
         * @param clientId
         */
        void setClientId(String clientId);
}

ClientStateStorage (last edited 2009-09-20 22:01:37 by localhost)