Class SessionTool
- java.lang.Object
-
- org.apache.turbine.services.session.SessionTool
-
- All Implemented Interfaces:
ApplicationTool
public class SessionTool extends Object implements ApplicationTool
A pull tool for accessing the SessionService from a velocity template.- Version:
- $Id$
- Author:
- Quinton McCombs
-
-
Constructor Summary
Constructors Constructor Description SessionTool()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddSession(HttpSession session)Adds a session to the current list.Collection<HttpSession>getActiveSessions()Gets a list of the active sessionsCollection<User>getActiveUsers()Gets a collection of all user objects representing the users currently logged in.Collection<HttpSession>getSessionsForUser(User user)Get a collection of all session on which the given user is logged in.UsergetUserFromSession(HttpSession session)Gets the User object of the the specified HttpSession.voidinit(Object o)Initialize the application tool.booleanisUserLoggedIn(User user)Determines if a given user is currently logged in.voidrefresh()Refresh the application tool.voidremoveSession(HttpSession session)Removes a session from the current list.
-
-
-
Constructor Detail
-
SessionTool
public SessionTool()
-
-
Method Detail
-
init
public void init(Object o)
Description copied from interface:ApplicationToolInitialize the application tool. The data parameter holds a different type depending on how the tool is being instantiated:- For global tools data will be null
- For request tools data will be of type RunData
- For session and authorized tools data will be of type User
It is possible that session scope tools will be initialized with a null
Userobject. This happens when the first request on a session happens to the be login action.If your session tool depends on having a
Userobject, you should look at implementing theRunDataApplicationToolinterface instead.- Specified by:
initin interfaceApplicationTool- Parameters:
o- initialization data
-
refresh
public void refresh()
Description copied from interface:ApplicationToolRefresh the application tool. This is necessary for development work where you probably want the tool to refresh itself if it is using configuration information that is typically cached after initialization- Specified by:
refreshin interfaceApplicationTool
-
getActiveSessions
public Collection<HttpSession> getActiveSessions()
Gets a list of the active sessions- Returns:
- List of HttpSession objects
-
addSession
public void addSession(HttpSession session)
Adds a session to the current list. This method should only be called by the listener.- Parameters:
session- Session to add
-
removeSession
public void removeSession(HttpSession session)
Removes a session from the current list. This method should only be called by the listener.- Parameters:
session- Session to remove
-
isUserLoggedIn
public boolean isUserLoggedIn(User user)
Determines if a given user is currently logged in. The actual implementation of the User object must implement the equals() method. By default, Torque based objects (liek TurbineUser) have an implementation of equals() that will compare the result of getPrimaryKey().- Parameters:
user- User to check for- Returns:
- true if the user is logged in on one of the active sessions.
-
getActiveUsers
public Collection<User> getActiveUsers()
Gets a collection of all user objects representing the users currently logged in. This will exclude any instances of anonymous user that Turbine will use before the user actually logs on.- Returns:
- collection of org.apache.turbine.om.security.User objects
-
getUserFromSession
public User getUserFromSession(HttpSession session)
Gets the User object of the the specified HttpSession.- Parameters:
session- the session- Returns:
- the user from the session
-
getSessionsForUser
public Collection<HttpSession> getSessionsForUser(User user)
Get a collection of all session on which the given user is logged in.- Parameters:
user- the user- Returns:
- Collection of HtttSession objects
-
-