AbstractScript

abstract class AbstractScript<S : ScriptConfig>(context: ScriptContext, language: Language, scriptEngine: ScriptEngine, scriptConfig: S) : AbstractScriptCloseable, Script<S>

Description: 所有脚本都实现的类

Author

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

Constructors

Link copied to clipboard
constructor(context: ScriptContext, language: Language, scriptEngine: ScriptEngine, scriptConfig: S)

Types

Link copied to clipboard
object Companion

Functions

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

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

Link copied to clipboard
abstract override fun close()

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

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

在脚本中执行文件.

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

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

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

在脚本中执行字符串.

Link copied to clipboard
open override fun getConfig(): S

获取脚本配置信息

Link copied to clipboard
open override fun getContext(): ScriptContext

获取脚本上下文对象 ScriptContext.

Link copied to clipboard
open override fun getEngine(): ScriptEngine

获取当前脚本所属的脚本引擎

Link copied to clipboard
open override fun getGlobalName(): String

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

Link copied to clipboard
open override fun getId(): String

获取脚本唯一标识

Link copied to clipboard
open override fun getLanguage(): Language

获取脚本所属编程语言

Link copied to clipboard
open override fun getProjectRootPath(): String?

获取项目根目录,如果不是工程项目则返回null

Link copied to clipboard
open override fun getPublicType(): Type

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

Link copied to clipboard
open override fun getThreads(): Threads

获取脚本线程管理对象.

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

获取指定类型的变量.

open override fun getVariable(name: String): Any

获取指定名称的变量.

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

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

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

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

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

获取脚本中所有满足 filter 的全局变量.

Link copied to clipboard
open override fun interrupt()

中止脚本

Link copied to clipboard
abstract fun isClosed(): Boolean

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

Link copied to clipboard
open override fun isInterrupted(): Boolean

脚本是否中断

Link copied to clipboard
open override fun isPrefixRequired(): Boolean

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

Link copied to clipboard
open override fun isSuffixRequired(): Boolean

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

Link copied to clipboard
open override fun isUiMode(): Boolean

获取脚本当前是否为ui模式

Link copied to clipboard
open override fun onError(listener: (Throwable) -> Unit)

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

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

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

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

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

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

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

Link copied to clipboard
open override fun setUICreator(name: String)

设置 ViewCreator