public class SaSession extends java.lang.Object implements SaSetValueInterface, java.io.Serializable
在一次会话范围内: 存值、取值
| 限定符和类型 | 字段和说明 |
|---|---|
static java.lang.String |
PERMISSION_LIST
在 Session 上存储权限时建议使用的key
|
static java.lang.String |
ROLE_LIST
在 Session 上存储角色时建议使用的key
|
static java.lang.String |
USER
在 Session 上存储用户对象时建议使用的key
|
| 限定符和类型 | 方法和说明 |
|---|---|
void |
addTokenSign(java.lang.String tokenValue,
java.lang.String device)
添加一个 Token 签名
|
void |
addTokenSign(TokenSign tokenSign)
添加一个 Token 签名
|
void |
clear()
清空所有值
|
SaSession |
delete(java.lang.String key)
删值
|
java.lang.Object |
get(java.lang.String key)
取值
|
long |
getCreateTime()
返回当前会话创建时间(时间戳)
|
java.util.Map<java.lang.String,java.lang.Object> |
getDataMap()
获取数据挂载集合(如果更新map里的值,请调用session.update()方法避免产生脏数据 )
|
java.lang.String |
getId()
获取此 Session 的 id
|
long |
getTimeout()
获取此Session的剩余存活时间 (单位: 秒)
|
TokenSign |
getTokenSign(java.lang.String tokenValue)
查找一个 Token 签名
|
java.util.List<TokenSign> |
getTokenSignList()
获取此 Session 绑定的 Token 签名列表
|
java.util.Set<java.lang.String> |
keys()
返回当前Session的所有key
|
void |
logout()
注销Session (从持久库删除)
|
void |
logoutByTokenSignCountToZero()
当Session上的tokenSign数量为零时,注销会话
|
void |
refreshDataMap(java.util.Map<java.lang.String,java.lang.Object> dataMap)
写入数据集合 (不改变底层对象,只将此dataMap所有数据进行替换)
|
void |
removeTokenSign(java.lang.String tokenValue)
移除一个 Token 签名
|
SaSession |
set(java.lang.String key,
java.lang.Object value)
写值
|
SaSession |
setByNull(java.lang.String key,
java.lang.Object value)
写值 (只有在此 key 原本无值的情况下才会写入)
|
SaSession |
setCreateTime(long createTime)
写入此 Session 的创建时间(时间戳)
|
SaSession |
setId(java.lang.String id)
写入此 Session 的 id
|
void |
setTokenSignList(java.util.List<TokenSign> tokenSignList)
写入此 Session 绑定的 Token 签名列表
|
java.util.List<TokenSign> |
tokenSignListCopy()
获取 Token 签名列表 的拷贝副本
|
java.util.List<TokenSign> |
tokenSignListCopyByDevice(java.lang.String device)
返回 Token 签名列表 的拷贝副本,根据 device 筛选
|
protected long |
trans(long value)
value为 -1 时返回 Long.MAX_VALUE,否则原样返回
|
void |
update()
更新Session(从持久库更新刷新一下)
|
void |
updateMaxTimeout(long maxTimeout)
修改此Session的最大剩余存活时间 (只有在 Session 的过期时间高于指定的 maxTimeout 时才会进行修改)
|
void |
updateMinTimeout(long minTimeout)
修改此Session的最小剩余存活时间 (只有在 Session 的过期时间低于指定的 minTimeout 时才会进行修改)
|
void |
updateTimeout(long timeout)
修改此Session的剩余存活时间
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetget, getDouble, getFloat, getInt, getLong, getModel, getModel, getString, getValueByDefaultValue, has, valueIsNullpublic static final java.lang.String USER
public static final java.lang.String ROLE_LIST
public static final java.lang.String PERMISSION_LIST
public SaSession()
public SaSession(java.lang.String id)
id - Session的idpublic java.lang.String getId()
public SaSession setId(java.lang.String id)
id - SessionIdpublic long getCreateTime()
public SaSession setCreateTime(long createTime)
createTime - 时间戳public void setTokenSignList(java.util.List<TokenSign> tokenSignList)
tokenSignList - Token 签名列表public java.util.List<TokenSign> getTokenSignList()
public java.util.List<TokenSign> tokenSignListCopy()
public java.util.List<TokenSign> tokenSignListCopyByDevice(java.lang.String device)
device - 设备类型,填 null 代表不限设备类型public TokenSign getTokenSign(java.lang.String tokenValue)
tokenValue - token值public void addTokenSign(TokenSign tokenSign)
tokenSign - Token 签名public void addTokenSign(java.lang.String tokenValue,
java.lang.String device)
tokenValue - token值device - 设备类型public void removeTokenSign(java.lang.String tokenValue)
tokenValue - token值public void update()
public void logout()
public void logoutByTokenSignCountToZero()
public long getTimeout()
public void updateTimeout(long timeout)
timeout - 过期时间 (单位: 秒)public void updateMinTimeout(long minTimeout)
minTimeout - 过期时间 (单位: 秒)public void updateMaxTimeout(long maxTimeout)
maxTimeout - 过期时间 (单位: 秒)protected long trans(long value)
value - /public java.lang.Object get(java.lang.String key)
get 在接口中 SaGetValueInterfacekey - keypublic SaSession set(java.lang.String key, java.lang.Object value)
set 在接口中 SaSetValueInterfacekey - 名称value - 值public SaSession setByNull(java.lang.String key, java.lang.Object value)
setByNull 在接口中 SaSetValueInterfacekey - 名称value - 值public SaSession delete(java.lang.String key)
delete 在接口中 SaSetValueInterfacekey - 要删除的keypublic java.util.Set<java.lang.String> keys()
public void clear()
public java.util.Map<java.lang.String,java.lang.Object> getDataMap()
public void refreshDataMap(java.util.Map<java.lang.String,java.lang.Object> dataMap)
dataMap - 数据集合Copyright © 2022. All Rights Reserved.