uk.org.ogsadai.sessions.impl
Class TerminateSessionStrategy
java.lang.Object
|
+--uk.org.ogsadai.sessions.impl.TerminateSessionStrategy
- All Implemented Interfaces:
- SessionStrategy
- public class TerminateSessionStrategy
- extends java.lang.Object
- implements SessionStrategy
A SessionStrategy
that retrieves an existing Session
from a SessionManager
and terminates that session immediately after the last session participant leaves the session.
- Author:
- The OGSA-DAI Project Team
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
COPYRIGHT_NOTICE
private static final java.lang.String COPYRIGHT_NOTICE
-
- See Also:
- Constant Field Values
LOG
private static final DAILogger LOG
-
mSessionID
private final SessionID mSessionID
-
TerminateSessionStrategy
public TerminateSessionStrategy(SessionID sessionID)
-
Creates a new strategy to access the specified existing session.
- Parameters:
sessionID
- The identifier for the pre-existing session to be obtained.
- Throws:
java.lang.IllegalArgumentException
- if the argument is null
.
obtainSession
public InternalSession obtainSession(SessionManager manager)
throws SessionCreationException,
SessionLookupException,
SessionNotFoundException
- Description copied from interface:
SessionStrategy
-
Uses the session manager to create a new session or access an existing session, depending on the session requirements built into the strategy.
An implementation of this method should also take necessary measures to ensure that the session ends at the appropriate point, such as after a certain time has passed.
-
- Specified by:
obtainSession
in interface SessionStrategy
-
- Parameters:
manager
- The SessionManagement
to use for interactions.
- Returns:
- A
SessionAccess
object to the session thus obtained.
- Throws:
SessionNotFoundException
- if a specific named session does not exist.
SessionCreationException
- if some problem arises when creating a new session.
SessionLookupException
- if some problem arises when accessing an existing session.
createSessionListener
SessionListener createSessionListener(SessionManager manager)
-
Creates a
SessionListener
that will automatically terminate the session when the last session participant leaves.
This method is given package level accessiblity for testing purposes.
-
-
- Parameters:
manager
- SessionManager
managing session.
- Returns:
SessionListener
.