ScriptEngine

脚本引擎类, 用于管理脚本 Script.

Author

M8Test, [email protected], https://m8test.com

Functions

Link copied to clipboard

添加默认的脚本生命周期监听器, 在此引擎启动的脚本都会添加该监听器.

Link copied to clipboard
abstract fun addOnDestroyListener(listener: () -> Unit): Result

添加脚本引擎退出监听器.

Link copied to clipboard
abstract override fun close()

关闭当前对象, 如果没有调用本方法则会报错, 当然本方法由系统调用, 不需要手动调用.

Link copied to clipboard
abstract fun filter(predicate: (Script<*>) -> Boolean): List<Script<*>>

获取所有由 ScriptEngine 启动满足 predicate 函数并且还没有停止的脚本.

Link copied to clipboard
abstract fun getContext(): ScriptContext

获取脚本上下文对象 ScriptContext.

Link copied to clipboard
abstract fun getGlobalName(): String

获取作为全局变量时的名称.

Link copied to clipboard
abstract fun getId(): String

获取脚本引擎id.

Link copied to clipboard
abstract fun getMain(): Script<*>

获取主脚本,也就是第一个运行的脚本,也是UI脚本.

Link copied to clipboard
abstract fun getPublicType(): Type

获取 Variable 注入到脚本时需要显示的类型.

Link copied to clipboard
abstract fun getScripts(): Set<Script<*>>

获取所有由 ScriptEngine 启动并且还没有停止的脚本.

Link copied to clipboard
abstract fun <S : ScriptConfig> interrupt(script: Script<S>): Result

中断指定的脚本.

Link copied to clipboard
abstract fun isClosed(): Boolean

判断当前对象是否已经调用了 close 方法.

Link copied to clipboard
abstract fun isPrefixRequired(): Boolean

是否需要添加前缀, 每种编程语言添加的前缀不一样, 前缀可以通过 Language.getVariablePrefix 获取.

Link copied to clipboard
abstract fun isSuffixRequired(): Boolean

是否需要添加后缀, 每种编程语言添加的后缀不一样, 后缀可以通过 Language.getVariableSuffix 获取.

Link copied to clipboard

移除已添加默认的脚本脚本生命周期监听器

Link copied to clipboard
abstract fun removeOnDestroyListener(listener: () -> Unit): Result

移除脚本引擎退出监听器.

Link copied to clipboard
abstract fun startFile(configBuilder: ScriptFileConfig.() -> Unit): Result

启动脚本文件.

Link copied to clipboard
abstract fun startProject(configBuilder: ScriptProjectConfig.() -> Unit): Result

启动脚本工程包.

Link copied to clipboard
abstract fun startString(configBuilder: ScriptStringConfig.() -> Unit): Result

启动脚本字符串.