Package kz.greetgo.security.session
Class SessionStorageAdapterAbstract
java.lang.Object
kz.greetgo.security.session.SessionStorageAdapterAbstract
- All Implemented Interfaces:
SessionStorage
public abstract class SessionStorageAdapterAbstract extends java.lang.Object implements SessionStorage
-
Field Summary
Fields Modifier and Type Field Description protected kz.greetgo.security.session.SessionStorageJdbcBuilder.Namesnamesprotected SessionSerializersessionSerializer -
Constructor Summary
Constructors Constructor Description SessionStorageAdapterAbstract(kz.greetgo.security.session.SessionStorageJdbcBuilder.Names names, SessionSerializer sessionSerializer) -
Method Summary
Modifier and Type Method Description protected abstract java.lang.StringcheckTableExistsSql()protected abstract java.lang.StringcreateSessionTableSql()voidinsertSession(SessionIdentity identity, java.lang.Object sessionData)Insert new sessionprotected abstract java.lang.StringinsertSessionSql(java.util.List<java.lang.Object> sqlParams, SessionIdentity identity, java.lang.Object sessionData)protected abstract booleanisExceptionAboutTableDoesNotExists(java.sql.SQLException sqlException)java.util.DateloadLastTouchedAt(java.lang.String sessionId)Loads session last touched timeprotected abstract java.lang.StringloadLastTouchedAtSql(java.util.List<java.lang.Object> sqlParams, java.lang.String sessionId)SessionRowloadSession(java.lang.String sessionId)Loads sessionContentsbooleanremove(java.lang.String sessionId)Removes session with specified idintremoveSessionsOlderThan(int ageInHours)Removes all session which age is more then ageInHoursprotected abstract java.lang.StringremoveSessionsOlderThanSql(java.util.List<java.lang.Object> sqlParams, int ageInHours)booleansetLastTouchedAt(java.lang.String sessionId, java.util.Date lastTouchedAt)Updates field lastTouchedAt of sessionprotected abstract java.lang.StringzeroSessionAgeSql(java.util.List<java.lang.Object> sqlParams, java.lang.String sessionId)
-
Field Details
-
names
protected final kz.greetgo.security.session.SessionStorageJdbcBuilder.Names names -
sessionSerializer
-
-
Constructor Details
-
SessionStorageAdapterAbstract
public SessionStorageAdapterAbstract(kz.greetgo.security.session.SessionStorageJdbcBuilder.Names names, SessionSerializer sessionSerializer)
-
-
Method Details
-
createSessionTableSql
protected abstract java.lang.String createSessionTableSql() -
isExceptionAboutTableDoesNotExists
protected abstract boolean isExceptionAboutTableDoesNotExists(java.sql.SQLException sqlException) -
checkTableExistsSql
protected abstract java.lang.String checkTableExistsSql() -
insertSessionSql
protected abstract java.lang.String insertSessionSql(java.util.List<java.lang.Object> sqlParams, SessionIdentity identity, java.lang.Object sessionData) -
insertSession
Description copied from interface:SessionStorageInsert new session- Specified by:
insertSessionin interfaceSessionStorage- Parameters:
identity- session identity. Unique must be identity.id - it defines sessionsessionData- additional session data (to store userId, role or something else)
-
zeroSessionAgeSql
protected abstract java.lang.String zeroSessionAgeSql(java.util.List<java.lang.Object> sqlParams, java.lang.String sessionId) -
loadLastTouchedAt
public java.util.Date loadLastTouchedAt(java.lang.String sessionId)Description copied from interface:SessionStorageLoads session last touched time- Specified by:
loadLastTouchedAtin interfaceSessionStorage- Parameters:
sessionId- session id- Returns:
- session last touched time or null, if session is absent
-
loadLastTouchedAtSql
protected abstract java.lang.String loadLastTouchedAtSql(java.util.List<java.lang.Object> sqlParams, java.lang.String sessionId) -
removeSessionsOlderThan
public int removeSessionsOlderThan(int ageInHours)Description copied from interface:SessionStorageRemoves all session which age is more then ageInHours- Specified by:
removeSessionsOlderThanin interfaceSessionStorage- Parameters:
ageInHours- session age in hours- Returns:
- count of removed sessions
-
removeSessionsOlderThanSql
protected abstract java.lang.String removeSessionsOlderThanSql(java.util.List<java.lang.Object> sqlParams, int ageInHours) -
loadSession
Description copied from interface:SessionStorageLoads sessionContents- Specified by:
loadSessionin interfaceSessionStorage- Parameters:
sessionId- session id- Returns:
- session contents or
nullif session is absent or session has been deactivated
-
remove
public boolean remove(java.lang.String sessionId)Description copied from interface:SessionStorageRemoves session with specified id- Specified by:
removein interfaceSessionStorage- Parameters:
sessionId- removing session id- Returns:
- removing flag: true - session was and removed, false - session absent with specified id
-
setLastTouchedAt
public boolean setLastTouchedAt(java.lang.String sessionId, java.util.Date lastTouchedAt)Description copied from interface:SessionStorageUpdates field lastTouchedAt of session- Specified by:
setLastTouchedAtin interfaceSessionStorage- Parameters:
sessionId- updating session idlastTouchedAt- new value- Returns:
- update flag: true - was session with specified id and it was update, false - otherwise
-