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
.