JSecurity

org.jsecurity.session.mgt.eis
Interface SessionDAO

All Known Implementing Classes:
CachingSessionDAO, MemorySessionDAO

public interface SessionDAO

Data Access Object design pattern specification to enable Session access to an EIS (Enterprise Information System).

Since:
0.1
Author:
Les Hazlewood

Method Summary
 Serializable create(Session session)
          Inserts a new Session record into the underling EIS (e.g.
 void delete(Session session)
          Deletes the associated EIS record of the specified session.
 Collection<Session> getActiveSessions()
          Returns all sessions in the EIS that are considered active, meaning all sessions that haven't been stopped/expired.
 Session readSession(Serializable sessionId)
          Retrieves the session from the EIS uniquely identified by the specified sessionId.
 void update(Session session)
          Updates (persists) data from a previously created Session instance in the EIS identified by session.getId().
 

Method Detail

create

Serializable create(Session session)
Inserts a new Session record into the underling EIS (e.g. Relational database, file system, mainframe, etc, depending on the DAO implementation).

After this method is invoked, the Session.getId() method executed on the argument must return a valid session identifier. That is, the following should always be true:

Serializable id = create( session );
id.equals( session.getId() ) == true

Implementations are free to throw any exceptions that might occur due to integrity violation constraints or other EIS related errors.

Parameters:
session - the Session object to create in the EIS.
Returns:
the EIS id (e.g. primary key) of the created Session object.

readSession

Session readSession(Serializable sessionId)
                    throws UnknownSessionException
Retrieves the session from the EIS uniquely identified by the specified sessionId.

Parameters:
sessionId - the system-wide unique identifier of the Session object to retrieve from the EIS.
Returns:
the persisted session in the EIS identified by sessionId.
Throws:
UnknownSessionException - if there is no EIS record for any session with the specified sessionId

update

void update(Session session)
            throws UnknownSessionException
Updates (persists) data from a previously created Session instance in the EIS identified by session.getId(). This effectively propagates the data in the argument to the EIS record previously saved.

Aside from the UnknownSessionException, implementations are free to throw any other exceptions that might occur due to integrity violation constraints or other EIS related errors.

Parameters:
session - the Session to update
Throws:
UnknownSessionException - if no existing EIS session record exists with the identifier of session.getSessionId()

delete

void delete(Session session)
Deletes the associated EIS record of the specified session. If there never existed a session EIS record with the identifier of session.getId(), then this method does nothing.

Parameters:
session - the session to delete.

getActiveSessions

Collection<Session> getActiveSessions()
Returns all sessions in the EIS that are considered active, meaning all sessions that haven't been stopped/expired. This is primarily used to validate potential orphans. If there are no active sessions in the EIS, this method may return an empty collection or null.

Returns:
a Collection of Sessions that are considered active, or an empty collection or null if there are no active sessions.

JSecurity

Copyright © 2004-2008 JSecurity.