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
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract java.lang.StringcheckTableExistsSql()protected abstract java.lang.StringcreateSessionTableIndexesSql()protected abstract java.lang.StringcreateSessionTableSql()voidinsertSession(SessionIdentity identity, java.lang.Object sessionData, java.lang.String samenessId)Insert new sessionprotected abstract java.lang.StringinsertSessionSql(java.util.List<java.lang.Object> sqlParams, SessionIdentity identity, java.lang.Object sessionData, java.lang.String samenessId)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 idintremoveSamenessSessions(java.lang.String samenessId)Removes all sessions with specified samenessIdprotected abstract java.lang.StringremoveSamenessSessions(java.util.List<java.lang.Object> sqlParams, java.lang.String samenessId)intremoveSessionsOlderThan(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 Detail
-
names
protected final kz.greetgo.security.session.SessionStorageJdbcBuilder.Names names
-
sessionSerializer
protected final SessionSerializer sessionSerializer
-
-
Constructor Detail
-
SessionStorageAdapterAbstract
public SessionStorageAdapterAbstract(kz.greetgo.security.session.SessionStorageJdbcBuilder.Names names, SessionSerializer sessionSerializer)
-
-
Method Detail
-
createSessionTableSql
protected abstract java.lang.String createSessionTableSql()
-
createSessionTableIndexesSql
protected abstract java.lang.String createSessionTableIndexesSql()
-
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, java.lang.String samenessId)
-
insertSession
public void insertSession(SessionIdentity identity, java.lang.Object sessionData, java.lang.String samenessId)
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
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
-
removeSamenessSessions
public int removeSamenessSessions(java.lang.String samenessId)
Description copied from interface:SessionStorageRemoves all sessions with specified samenessId- Specified by:
removeSamenessSessionsin interfaceSessionStorage- Parameters:
samenessId- similar sessions identifier- Returns:
- count of removed sessions
-
removeSamenessSessions
protected abstract java.lang.String removeSamenessSessions(java.util.List<java.lang.Object> sqlParams, java.lang.String samenessId)
-
-