Package helma.framework.core
Class SessionManager
- java.lang.Object
-
- helma.framework.core.SessionManager
-
public class SessionManager extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description protected Application
app
protected java.util.Hashtable
sessions
-
Constructor Summary
Constructors Constructor Description SessionManager()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected long
cleanupSessions(long lastSessionCleanup)
Purge sessions that have not been used for a certain amount of time.int
countSessions()
Returns the number of currenty active sessions.Session
createSession(java.lang.String sessionId)
void
discardSession(Session session)
Remove the session from the sessions-table and logout the user.java.util.List
getActiveUsers()
Return a list of Helma nodes (HopObjects - the database object representing the user, not the session object) representing currently logged in users.Session
getSession(java.lang.String sessionId)
java.util.Map
getSessions()
Return the whole session map.java.util.List
getSessionsForUsername(java.lang.String username)
Return an array ofSessionBean
objects currently associated with a given Helma user.void
init(Application app)
void
loadSessionData(java.io.File f, ScriptingEngine engine)
loads the serialized session table from a given file or from dbdir/sessionsvoid
registerSession(Session session)
void
shutdown()
void
storeSessionData(java.io.File f, ScriptingEngine engine)
Dump session state to a file.
-
-
-
Field Detail
-
sessions
protected java.util.Hashtable sessions
-
app
protected Application app
-
-
Method Detail
-
init
public void init(Application app)
-
shutdown
public void shutdown()
-
createSession
public Session createSession(java.lang.String sessionId)
-
getSession
public Session getSession(java.lang.String sessionId)
-
registerSession
public void registerSession(Session session)
-
getSessions
public java.util.Map getSessions()
Return the whole session map. We return a clone of the table to prevent actual changes from the table itself, which is managed by the application. It is safe and allowed to manipulate the session objects contained in the table, though.
-
countSessions
public int countSessions()
Returns the number of currenty active sessions.
-
discardSession
public void discardSession(Session session)
Remove the session from the sessions-table and logout the user.
-
getSessionsForUsername
public java.util.List getSessionsForUsername(java.lang.String username)
Return an array ofSessionBean
objects currently associated with a given Helma user.
-
getActiveUsers
public java.util.List getActiveUsers()
Return a list of Helma nodes (HopObjects - the database object representing the user, not the session object) representing currently logged in users.
-
storeSessionData
public void storeSessionData(java.io.File f, ScriptingEngine engine)
Dump session state to a file.- Parameters:
f
- the file to write session into, or null to use the default sesssion store.
-
loadSessionData
public void loadSessionData(java.io.File f, ScriptingEngine engine)
loads the serialized session table from a given file or from dbdir/sessions
-
cleanupSessions
protected long cleanupSessions(long lastSessionCleanup)
Purge sessions that have not been used for a certain amount of time. This is called by run().- Parameters:
lastSessionCleanup
- the last time sessions were purged- Returns:
- the updated lastSessionCleanup value
-
-