Class WebApplication<T>

  • Type Parameters:
    T - the web session key type
    All Implemented Interfaces:
    org.tentackle.dbms.ConnectionManagerProvider, org.tentackle.pdo.DomainContextProvider, org.tentackle.session.SessionPoolProvider, org.tentackle.session.SessionProvider

    public abstract class WebApplication<T>
    extends AbstractServerApplication
    Web Server Application.

    Web applications usually run in a container such as glassfish.

    Author:
    harald
    • Constructor Detail

      • WebApplication

        public WebApplication​(String name,
                              String version)
        Creates an instance of a web application.
        Parameters:
        name - the application name
        version - the application version
    • Method Detail

      • getWebApplication

        public static <T> WebApplication<T> getWebApplication()
        Gets the current web application instance.

        This is just a convenience method to AbstractApplication.getRunningApplication().

        Type Parameters:
        T - the web session key type
        Returns:
        the application, null if not started yet
      • addWebSession

        public void addWebSession​(T sessionKey,
                                  org.tentackle.session.SessionInfo sessionInfo)
        Adds a mapping between a web session key and a user's session info.
        This is usually done in the login controller. If a session with that key already exists, the user info will be replaced.
        Parameters:
        sessionKey - the (unique) web session key
        sessionInfo - the session info
      • removeWebSession

        public void removeWebSession​(T sessionKey)
        Removes a mapping between a web session key and a user session info.
        This is usually done in the logout controller. If there is no such session, the method will do nothing.
        Parameters:
        sessionKey - the (unique) web session key
      • getSessionKeys

        public Collection<T> getSessionKeys​(org.tentackle.session.SessionInfo sessionInfo)
        Gets the web session keys for a user session info.
        Parameters:
        sessionInfo - the user session info
        Returns:
        the web session keys, never null
      • getSession

        public org.tentackle.session.Session getSession​(T sessionKey)
        Gets a persistence session from the session pool by a web session key.
        Parameters:
        sessionKey - the web session key
        Returns:
        the attached session or null if no such session
      • putSession

        public void putSession​(org.tentackle.session.Session session)
        Release a persistence session.
        Should be invoked after sending/rendering the response to the web browser.
        Parameters:
        session - the persistence session to release