Script

表示脚本的接口.

Author

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

Inheritors

Functions

Link copied to clipboard
abstract fun addLifecycleListener(lifecycleListener: ScriptLifecycleListener): Result

监听脚本生命周期的监听器.

Link copied to clipboard
abstract override fun close()

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

Link copied to clipboard
abstract fun executeFile(configBuilder: ScriptFileConfig.() -> Unit): Any?

在脚本中执行文件.

Link copied to clipboard
abstract fun executeProject(configBuilder: ScriptProjectConfig.() -> Unit): Any?

在脚本中执行脚本工程包.

Link copied to clipboard
abstract fun executeString(configBuilder: ScriptStringConfig.() -> Unit): Any?

在脚本中执行字符串.

Link copied to clipboard
abstract fun getConfig(): S

获取脚本配置, 获取到的是通过 ScriptEngine 启动的配置.

Link copied to clipboard
abstract fun getContext(): ScriptContext

获取脚本上下文对象 ScriptContext.

Link copied to clipboard
abstract fun getEngine(): ScriptEngine

获取启动当前脚本的 ScriptEngine 对象.

Link copied to clipboard
abstract fun getGlobalName(): String

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

Link copied to clipboard
abstract fun getId(): String

获取脚本唯一标识.

Link copied to clipboard
abstract fun getLanguage(): Language

获取脚本所对应的语言.

Link copied to clipboard
abstract fun getProjectRootPath(): String?

获取项目根目录.

Link copied to clipboard
abstract fun getPublicType(): Type

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

Link copied to clipboard
abstract fun getThreads(): Threads

获取脚本线程管理对象.

Link copied to clipboard
abstract fun <T : Variable> getVariable(clazz: Class<T>): T

获取指定类型的变量.

abstract fun getVariable(name: String): Any

获取指定名称的变量.

abstract fun <T : Variable> getVariable(name: String, clazz: Class<T>): T

获取指定名称以及类型的变量.

Link copied to clipboard
abstract fun getVariableName(variable: Variable): String

获取变量在脚本中的名称.

Link copied to clipboard
abstract fun getVariables(filter: (Variable, Component?) -> Boolean): List<Variable>

获取指定满足 filter 函数的变量.

Link copied to clipboard
abstract fun interrupt()

中断脚本.

Link copied to clipboard
abstract fun isClosed(): Boolean

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

Link copied to clipboard
abstract fun isInterrupted(): Boolean

脚本是否处于中断状态, 也就是有没有调用过 interrupt 方法.

Link copied to clipboard
abstract fun isPrefixRequired(): Boolean

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

Link copied to clipboard
abstract fun isSuffixRequired(): Boolean

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

Link copied to clipboard
abstract fun isUiMode(): Boolean

判断当前脚本是否以UI方式运行.

Link copied to clipboard
abstract fun onError(listener: (throwable: Throwable) -> Unit)

添加脚本错误时的监听器.

Link copied to clipboard
abstract fun onFinish(listener: (result: Any?) -> Unit)

添加脚本完成时的监听器.

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

添加脚本中断时的监听器.

Link copied to clipboard
abstract fun removeLifecycleListener(lifecycleListener: ScriptLifecycleListener): Result

移除脚本生命周期监听器.

Link copied to clipboard
abstract fun setUICreator(name: String)

用于设置界面创建器, 因为 ui 模块可以动态加载, 所以需要指定用哪个模块生成界面.