- 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.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 Summary
Constructors Constructor Description WebApplication(String name, String version)Creates an instance of a web application.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddWebSession(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.protected voidcleanup()protected voidfinishStartup()org.tentackle.session.SessiongetSession(T sessionKey)Gets a persistence session from the session pool by a web session key.Collection<T>getSessionKeys(org.tentackle.session.SessionInfo sessionInfo)Gets the web session keys for a user session info.static <T> WebApplication<T>getWebApplication()Gets the current web application instance.voidputSession(org.tentackle.session.Session session)Release a persistence session.
Should be invoked after sending/rendering the response to the web browser.voidremoveWebSession(T sessionKey)Removes a mapping between a web session key and a user session info.
This is usually done in the logout controller.protected voidstartup()-
Methods inherited from class org.tentackle.persist.app.AbstractServerApplication
activateStatistics, configureModificationTracker, configurePreferences, configureSessionInfo, createConnectionManager, createRemoteSessionPool, createSessionPool, deregisterJdbcDrivers, detectContainer, getConnectionManager, getRemoteSessionPool, getSession, getSessionPool, isRunningInContainer, isServerImpl, isSystemExitNecessaryToStop, login, setSessionInfo
-
Methods inherited from class org.tentackle.app.AbstractApplication
applyProperties, configure, configureSecurityManager, createDomainContext, createSession, createSessionInfo, getCommandLine, getCreationTime, getDomainContext, getName, getProperties, getProperty, getRunningApplication, getSessionInfo, getUser, getUser, getVersion, initialize, initializeScripting, isInteractive, isInteractiveImpl, isServer, logStackdump, register, setDomainContext, setProperties, start, start, stop, stop, toString, unregister
-
-
-
-
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 keysessionInfo- 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:
startupin classAbstractServerApplication
-
finishStartup
protected void finishStartup()
- Overrides:
finishStartupin classAbstractServerApplication
-
cleanup
protected void cleanup()
- Overrides:
cleanupin classAbstractServerApplication
-
-