org.apache.turbine.services.session

## 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: SessionTool.java 1706239 2015-10-01 13:18:35Z tv $
  Author:
    Quinton McCombs

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `SessionTool()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addSession(HttpSession session)` Adds a session to the current list.
    `Collection<HttpSession>` | `getActiveSessions()` Gets a list of the active sessions
    `Collection<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.

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

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

- - ### 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 the `RunDataApplicationTool` interface instead.

      Specified by:
        `init` in interface `ApplicationTool`
      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 interface `ApplicationTool`

    - #### 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` -
      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

Copyright © 2000-2015 The Apache Software Foundation. All Rights Reserved.