org.macrocloud.kernel.context.BaseContext Maven / Gradle / Ivy
package org.macrocloud.kernel.context;
import org.springframework.lang.Nullable;
import java.util.function.Function;
/**
* Macro微服务上下文
*
* @author macro
*/
public interface BaseContext {
/**
* 获取 请求 id
*
* @return 请求id
*/
@Nullable
String getRequestId();
/**
* 账号id
*
* @return 账号id
*/
@Nullable
String getAccountId();
/**
* 获取租户id
*
* @return 租户id
*/
@Nullable
String getTenantId();
/**
* 获取上下文中的数据
*
* @param ctxKey 上下文中的key
* @return 返回对象
*/
@Nullable
String get(String ctxKey);
/**
* 获取上下文中的数据
*
* @param ctxKey 上下文中的key
* @param function 函数式
* @param 泛型对象
* @return 返回对象
*/
@Nullable
T get(String ctxKey, Function function);
}