Package helma.framework.core

# Class SessionManager

java.lang.Object
helma.framework.core.SessionManager

public class SessionManager extends Object

## Field Summary

Fields
Modifier and Type
Field
Description
`protected Application`
`app`
`protected Hashtable`
`sessions`

## Constructor Summary

Constructors
Constructor
Description
`SessionManager()`

## Method Summary

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(String sessionId)`
`void`
`discardSession(Session session)`
Remove the session from the sessions-table and logout the user.
`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(String sessionId)`
`Map`
`getSessions()`
Return the whole session map.
`List`
`getSessionsForUsername(String username)`
Return an array of `SessionBean` objects currently associated with a given Helma user.
`void`
`init(Application app)`
`void`
`loadSessionData(File f, ScriptingEngine engine)`
loads the serialized session table from a given file or from dbdir/sessions
`void`
`registerSession(Session session)`
`void`
`shutdown()`
`void`
`storeSessionData(File f, ScriptingEngine engine)`
Dump session state to a file.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### sessions

protected Hashtable sessions

### app

protected Application app

## Constructor Details

### SessionManager

public SessionManager()

## Method Details

### init

public void init(Application app)

### shutdown

public void shutdown()

### createSession

public Session createSession(String sessionId)

### getSession

public Session getSession(String sessionId)

### registerSession

public void registerSession(Session session)

### getSessions

public 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 List getSessionsForUsername(String username)
Return an array of `SessionBean` objects currently associated with a given Helma user.

### getActiveUsers

public 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(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(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