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 void
addSession(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.User
getUserFromSession(HttpSession session)
Gets the User object of the the specified HttpSession.void
init(Object o)
Initialize the application tool.boolean
isUserLoggedIn(User user)
Determines if a given user is currently logged in.void
refresh()
Refresh the application tool.void
removeSession(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:ApplicationTool
Initialize 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
User
object. This happens when the first request on a session happens to the be login action.If your session tool depends on having a
User
object, you should look at implementing theRunDataApplicationTool
interface instead.- Specified by:
init
in interfaceApplicationTool
- Parameters:
o
- initialization data
-
refresh
public void refresh()
Description copied from interface:ApplicationTool
Refresh 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:
refresh
in 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
-
-