🥏Groovy脚本引擎
# 依赖
使用groovy脚本语言,你需要额外依赖LiteFlow提供的脚本插件:
<dependency>
<groupId>com.yomahub</groupId>
<artifactId>liteflow-script-groovy</artifactId>
<version>2.11.4.2</version>
</dependency>
# 使用
你需要在你的xml中去定义node节点,以下是一个示例:
<node id="s1" name="普通脚本1" type="script" language="groovy">
<![CDATA[
import cn.hutool.core.collection.ListUtil
import cn.hutool.core.date.DateUtil
import java.util.function.Consumer
import java.util.function.Function
import java.util.stream.Collectors
def date = DateUtil.parse("2022-10-17 13:31:43")
println(date)
defaultContext.setData("demoDate", date)
List<String> list = ListUtil.toList("a", "b", "c")
List<String> resultList = list.stream().map(s -> "hello," + s).collect(Collectors.toList())
defaultContext.setData("resultList", resultList)
class Student {
int studentID
String studentName
}
Student student = new Student()
student.studentID = 100301
student.studentName = "张三"
defaultContext.setData("student", student)
def a = 3
def b = 2
defaultContext.setData("s1", a * b)
]]>
</node>
以上是一个普通脚本组件的示例,可以看到,groovy的脚本语言还是非常类似于java的。甚至还可以在脚本里定义类。
# 脚本类型
要注意的是,type
分为6种:
script
:普通脚本节点,脚本里无需返回。
switch_script
:选择脚本节点,脚本里需要返回选择的节点Id。
if_script
:条件脚本节点,脚本里需要返回true/false。
for_script
:数量循环节点,脚本里需要返回数值类型,表示循环次数。
while_script
:条件循环节点,脚本里需要返回true/false,表示什么条件才继续循环。
break_script
:退出循环节点,脚本里需要返回true/false,表示什么时候退出循环。
# 如何取到上下文以及和Java类进行交互
关于这部分,请详细参考脚本与Java进行交互这一章节。
帮助我们改善此文档 (opens new window)
上次更新: 2024/04/09, 18:39:17