Class WebApplication<T>

java.lang.Object
org.tentackle.app.AbstractApplication
org.tentackle.persist.app.AbstractServerApplication
org.tentackle.web.app.WebApplication<T>
Type Parameters:
T - the web session key type
All Implemented Interfaces:
org.tentackle.app.Application, 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 web container or application server.

Author:
harald
  • Constructor Details

    • WebApplication

      public WebApplication(String name, String version)
      Creates an instance of a web application.
      Parameters:
      name - the application name, null for default name
      version - the application version, null for default version
  • Method Details

    • 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 session 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
    • startup

      protected void startup()
      Overrides:
      startup in class AbstractServerApplication
    • finishStartup

      protected void finishStartup()
      Overrides:
      finishStartup in class AbstractServerApplication
    • cleanup

      protected void cleanup()
      Overrides:
      cleanup in class AbstractServerApplication