feature #I5RV4W 加强脚本和java之间的互动

This commit is contained in:
everywhere.z
2022-10-02 15:58:07 +08:00
parent cb8c0361c3
commit ff60fb06b1
22 changed files with 393 additions and 0 deletions

View File

@@ -13,10 +13,12 @@ import com.yomahub.liteflow.flow.FlowBus;
import com.yomahub.liteflow.flow.element.Chain;
import com.yomahub.liteflow.flow.element.Executable;
import com.yomahub.liteflow.flow.element.condition.*;
import com.yomahub.liteflow.script.ScriptBeanManager;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.function.BiConsumer;
/**
* Chain基于代码形式的组装器

View File

@@ -0,0 +1,17 @@
package com.yomahub.liteflow.script;
import java.lang.annotation.*;
/**
* 用于标注在Script中可使用的java bean
* @author Bryan.Zhang
* @since 2.9.0
*/
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
public @interface ScriptBean {
String value() default "";
}

View File

@@ -0,0 +1,22 @@
package com.yomahub.liteflow.script;
import java.util.HashMap;
import java.util.Map;
/**
* Script中可使用的java bean管理类
* @author Bryan.Zhang
* @since 2.9.0
*/
public class ScriptBeanManager {
private static final Map<String, Object> scriptBeanMap = new HashMap<>();
public static void addScriptBean(String key, Object bean){
scriptBeanMap.put(key, bean);
}
public static Map<String, Object> getScriptBeanMap(){
return scriptBeanMap;
}
}