All Downloads are FREE. Search and download functionalities are using the official Maven repository.

cn.schoolwow.quickflow.service.flowContext.getData.FlowContextGetDataOperation Maven / Gradle / Ivy

package cn.schoolwow.quickflow.service.flowContext.getData;

import cn.schoolwow.quickflow.domain.FlowContext;
import cn.schoolwow.quickflow.dto.FlowContextDataRange;
import com.alibaba.fastjson.TypeReference;

import java.util.Map;

public interface FlowContextGetDataOperation {
    /**
     * 检查数据是否存在,不存在时抛出异常
     */
    FlowContext isDataNotExist(String key, String message);

    /**
     * 判断key是否存在
     */
    boolean containKey(String key);

    /**
     * 判断实例是否存在
     */
    boolean containInstanceKey(Class clazz);

    /**
     * 获取上下文数据,不存在时抛出异常
     */
    Object checkData(String key);

    /**
     * 获取上下文数据,不存在时抛出异常
     */
     T checkData(String key, Class clazz);

    /**
     * 获取上下文数据,不存在时抛出异常
     */
     T checkData(String key, TypeReference typeReference);

    /**
     * 获取上下文实例,不存在时抛出异常
     */
     T checkInstanceData(Class clazz);

    /**
     * 获取上下文数据
     */
    Object getData(String key);

    /**
     * 获取上下文数据
     */
     T getData(String key, Class clazz);

    /**
     * 获取上下文数据
     */
     T getData(String key, TypeReference typeReference);

    /**
     * 获取上下文数据
     */
    Object getData(String key, Object defaultValue);

    /**
     * 获取上下文数据
     */
     T getData(String key, Class clazz, T defaultValue);

    /**
     * 获取上下文实例数据
     */
     T getInstanceData(Class clazz);

    /**
     * 获取上下文实例数据
     */
     T getInstanceData(Class clazz, T defaultValue);

    /**
     * 获取流程全局数据
     */
    Map getContextDataMap();

    /**
     * 获取加载流程配置数据
     */
    Map getFlowConfigDataMap();

    /**
     * 获取流程执行中间数据
     */
    Map getFlowExecuteDataMap();

    /**
     * 获取流程请求数据
     */
    Map getRequestDataMap();

    /**
     * 获取线程上下文数据
     */
    Map getThreadLocalDataMap();

    /**
     * 获取当前流程数据
     */
    Map getCurrentFlowDataMap();

    /**
     * 获取当前复合流程数据
     */
    Map getCurrentCompositeFlowDataMap();

    /**
     * 获取key的作用域范围
     */
    FlowContextDataRange getFlowContextDataRangeByKey(String key);

    /**
     * 获取实例数据的作用域范围
     */
    FlowContextDataRange getFlowContextDataRangeByInstance(Class clazz);

    /**
     * 打印上下文变量作用域信息
     */
    void printFlowDataRange();
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy