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.Namesnames
-
Constructor Summary
Constructors Constructor Description SessionStorageAdapterAbstract(kz.greetgo.security.session.SessionStorageJdbcBuilder.Names names)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods 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 sessionbooleanzeroSessionAge(java.lang.String sessionId)Makes session youngprotected abstract java.lang.StringzeroSessionAgeSql(java.util.List<java.lang.Object> sqlParams, java.lang.String sessionId)
-
-
-
Method Detail
-
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
public void insertSession(SessionIdentity identity, java.lang.Object sessionData)
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)
-
zeroSessionAge
public boolean zeroSessionAge(java.lang.String sessionId)
Description copied from interface:SessionStorageMakes session young- Specified by:
zeroSessionAgein interfaceSessionStorage- Parameters:
sessionId- session id- Returns:
- indicates session exists:
true- session exists and its age made zero,false- session is absent
-
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
public SessionRow loadSession(java.lang.String sessionId)
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
-
-