Clover coverage report - Acegi Security System for Spring - 1.0.0-RC1
Coverage timestamp: Mon Dec 5 2005 09:05:15 EST
file stats: LOC: 83   Methods: 0
NCLOC: 9   Classes: 1
 
 Source file Conditionals Statements Methods TOTAL
SessionRegistry.java - - - -
coverage
 1    /* Copyright 2004, 2005 Acegi Technology Pty Limited
 2    *
 3    * Licensed under the Apache License, Version 2.0 (the "License");
 4    * you may not use this file except in compliance with the License.
 5    * You may obtain a copy of the License at
 6    *
 7    * http://www.apache.org/licenses/LICENSE-2.0
 8    *
 9    * Unless required by applicable law or agreed to in writing, software
 10    * distributed under the License is distributed on an "AS IS" BASIS,
 11    * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 12    * See the License for the specific language governing permissions and
 13    * limitations under the License.
 14    */
 15   
 16    package org.acegisecurity.concurrent;
 17   
 18    /**
 19    * Maintains a registry of <code>SessionInformation</code> instances.
 20    *
 21    * @author Ben Alex
 22    * @version $Id: SessionRegistry.java,v 1.2 2005/11/17 00:55:56 benalex Exp $
 23    */
 24    public interface SessionRegistry {
 25    //~ Methods ================================================================
 26   
 27    /**
 28    * Obtains all the known sessions for the specified principal. Sessions
 29    * that have expired or destroyed are not returned.
 30    *
 31    * @param principal to locate sessions for (should never be
 32    * <code>null</code>)
 33    *
 34    * @return the unexpired and undestroyed sessions for this principal, or
 35    * <code>null</code> if none were found
 36    */
 37    public SessionInformation[] getAllSessions(Object principal);
 38   
 39    /**
 40    * Obtains the session information for the specified
 41    * <code>sessionId</code>. Even expired sessions are returned (although
 42    * destroyed sessions are never returned).
 43    *
 44    * @param sessionId to lookup (should never be <code>null</code>)
 45    *
 46    * @return the session information, or <code>null</code> if not found
 47    */
 48    public SessionInformation getSessionInformation(String sessionId);
 49   
 50    /**
 51    * Updates the given <code>sessionId</code> so its last request time is
 52    * equal to the present date and time. Silently returns if the given
 53    * <code>sessionId</code> cannot be found or the session is marked to expire.
 54    *
 55    * @param sessionId for which to update the date and time of the last
 56    * request (should never be <code>null</code>)
 57    */
 58    public void refreshLastRequest(String sessionId);
 59   
 60    /**
 61    * Registers a new session for the specified principal. The newly
 62    * registered session will not be marked for expiration.
 63    *
 64    * @param sessionId to associate with the principal (should never be
 65    * <code>null</code>)
 66    * @param principal to associate with the session (should never be
 67    * <code>null</code>)
 68    *
 69    * @throws SessionAlreadyUsedException DOCUMENT ME!
 70    */
 71    public void registerNewSession(String sessionId, Object principal)
 72    throws SessionAlreadyUsedException;
 73   
 74    /**
 75    * Deletes all the session information being maintained for the specified
 76    * <code>sessionId</code>. If the <code>sessionId</code> is not found, the
 77    * method gracefully returns.
 78    *
 79    * @param sessionId to delete information for (should never be
 80    * <code>null</code>)
 81    */
 82    public void removeSessionInformation(String sessionId);
 83    }