SaStorage 规范数据读写接口

This commit is contained in:
click33
2022-08-19 07:55:35 +08:00
parent e846e80dce
commit 4fac700ff0
7 changed files with 39 additions and 35 deletions

View File

@@ -8,6 +8,7 @@ import cn.dev33.satoken.dao.SaTokenDao;
/**
* Application Model全局作用域的读取值对象
* <p> 在应用全局范围内: 存值、取值
*
* @author kong
* @since: 2022-8-17
@@ -33,11 +34,8 @@ public class SaApplication implements SaSetValueInterface {
return set(key, value, SaTokenDao.NEVER_EXPIRE);
}
/**
* 删值
* @param key 要删除的key
* @return 对象自身
*/
/** 删值 */
@Override
public SaApplication delete(String key) {
SaManager.getSaTokenDao().deleteObject(splicingDataKey(key));
return this;

View File

@@ -1,37 +1,34 @@
package cn.dev33.satoken.context.model;
import cn.dev33.satoken.application.SaSetValueInterface;
/**
* [存储器] 包装类
* <p> 在 Request作用域里: 存值、取值
* Storage Model请求作用域的读取值对象
* <p> 在一次请求范围内: 存值、取值
*
* @author kong
*
*/
public interface SaStorage {
public interface SaStorage extends SaSetValueInterface {
/**
* 获取底层源对象
* @return see note
*/
public Object getSource();
/**
* 在 [Request作用域] 里写入一个值
* @param key 键
* @param value 值
*/
public void set(String key, Object value);
/**
* 在 [Request作用域] 里获取一个值
* @param key 键
* @return 值
*/
// ---- 实现接口存取值方法
/** 取值 */
@Override
public Object get(String key);
/**
* 在 [Request作用域] 里删除一个值
* @param key 键
*/
public void delete(String key);
/** 写值 */
@Override
public SaStorage set(String key, Object value);
/** 删值 */
@Override
public SaStorage delete(String key);
}

View File

@@ -14,7 +14,8 @@ import cn.dev33.satoken.dao.SaTokenDao;
import cn.dev33.satoken.util.SaFoxUtil;
/**
* Session Model
* Session Model,会话作用域的读取值对象
* <p> 在一次会话范围内: 存值、取值
*
* @author kong
*

View File

@@ -37,12 +37,13 @@ public class SaStorageForDubbo implements SaStorage {
* 在 [Request作用域] 里写入一个值
*/
@Override
public void set(String key, Object value) {
public SaStorageForDubbo set(String key, Object value) {
rpcContext.setObjectAttachment(key, value);
// 如果是token写入则回传到Consumer端
if(key.equals(SaTokenConsts.JUST_CREATED_NOT_PREFIX)) {
RpcContext.getServerContext().setAttachment(key, value);
}
return this;
}
/**
@@ -57,8 +58,9 @@ public class SaStorageForDubbo implements SaStorage {
* 在 [Request作用域] 里删除一个值
*/
@Override
public void delete(String key) {
public SaStorageForDubbo delete(String key) {
rpcContext.removeAttachment(key);
return this;
}
}

View File

@@ -36,8 +36,9 @@ public class SaStorageForReactor implements SaStorage {
* 在 [Request作用域] 里写入一个值
*/
@Override
public void set(String key, Object value) {
public SaStorageForReactor set(String key, Object value) {
exchange.getAttributes().put(key, value);
return this;
}
/**
@@ -52,8 +53,9 @@ public class SaStorageForReactor implements SaStorage {
* 在 [Request作用域] 里删除一个值
*/
@Override
public void delete(String key) {
public SaStorageForReactor delete(String key) {
exchange.getAttributes().remove(key);
return this;
}
}

View File

@@ -36,8 +36,9 @@ public class SaStorageForServlet implements SaStorage {
* 在 [Request作用域] 里写入一个值
*/
@Override
public void set(String key, Object value) {
public SaStorageForServlet set(String key, Object value) {
request.setAttribute(key, value);
return this;
}
/**
@@ -52,8 +53,9 @@ public class SaStorageForServlet implements SaStorage {
* 在 [Request作用域] 里删除一个值
*/
@Override
public void delete(String key) {
public SaStorageForServlet delete(String key) {
request.removeAttribute(key);
return this;
}
}

View File

@@ -21,8 +21,9 @@ public class SaStorageForSolon implements SaStorage {
}
@Override
public void set(String key, Object value) {
public SaStorageForSolon set(String key, Object value) {
ctx.attrSet(key, value);
return this;
}
@Override
@@ -31,7 +32,8 @@ public class SaStorageForSolon implements SaStorage {
}
@Override
public void delete(String key) {
public SaStorageForSolon delete(String key) {
ctx.attrMap().remove(key);
return this;
}
}