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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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