kd.bos.script.jsengine

## 类 KExecutor

- java.lang.Object
- - kd.bos.script.jsengine.KExecutor

- 所有已实现的接口:
    ScriptExecutor

      public class KExecutor
      extends java.lang.Object
      implements ScriptExecutor

  kscript执行器

- - ### 构造器概要

    构造器
    构造器和说明
    `KExecutor(java.lang.ClassLoader classLoader, boolean safeModel)`

  - ### 方法概要

    所有方法 实例方法 具体方法
    限定符和类型 | 方法和说明
    --- | ---
    `void` | `addExecutorListener(KExecutorListener l)`
    `DebugManager` | `attachDebug(java.lang.String debugId, DebugStepBack dcb)`
    `void` | `begin()` begin与enter的关系说明： begin()是对应KScriptEngine(ScriptExecutor)实例，每个实例只能begin一次，确保仅执行一次上下文初始化。
    `<T> T` | `call(java.lang.String name, java.lang.Object... args)` 调用函数
    `void` | `debugStepStart(boolean waitForStartted)`
    `void` | `end()` 结束(required)
    `<T> T` | `exec(ScriptInfo... scriptInfos)`
    `<T> T` | `exec(java.lang.String... scripts)` 逐一执行多个脚本(内容)
    `<T> T` | `execName(java.lang.String... scriptNames)` 执行脚本(根据名称)
    `ScriptContext` | `getContext()`
    `void` | `init(Initializer si)` 初始化：定义变量、类、脚本定位器等。
    `void` | `registKSUtilPlugin(java.lang.String scriptNumber, java.lang.String scriptContent)`
    `boolean` | `removeExecutorListener(KExecutorListener l)`
    `ScriptValidateResult` | `validate(java.lang.String script)` 验证脚本

    - ### 从类继承的方法 java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### 从接口继承的方法 kd.bos.script.ScriptExecutor

      `create, getDebugThreadType, getOrCreate, getThreadDebugId, setupThreadDebug`

- - ### 构造器详细资料

    - #### KExecutor

          public KExecutor(java.lang.ClassLoader classLoader,
                           boolean safeModel)

  - ### 方法详细资料

    - #### init

          public void init(Initializer si)

      从接口复制的说明: `ScriptExecutor`
      初始化：定义变量、类、脚本定位器等。
      指定者:
        `init` 在接口中 `ScriptExecutor`

    - #### addExecutorListener

          public void addExecutorListener(KExecutorListener l)

    - #### removeExecutorListener

          public boolean removeExecutorListener(KExecutorListener l)

    - #### begin

          public void begin()

      begin与enter的关系说明： begin()是对应KScriptEngine(ScriptExecutor)实例，每个实例只能begin一次，确保仅执行一次上下文初始化。 org.mozilla.javascript.Context则是线程全局的，其enter对应多个ScriptExecutor的begin。 KSimpleScriptContext是对org.mozilla.javascript.Context的封装。
      指定者:
        `begin` 在接口中 `ScriptExecutor`

    - #### exec

          public <T> T exec(java.lang.String... scripts)

      从接口复制的说明: `ScriptExecutor`
      逐一执行多个脚本(内容)
      指定者:
        `exec` 在接口中 `ScriptExecutor`

    - #### exec

          public <T> T exec(ScriptInfo... scriptInfos)

      指定者:
        `exec` 在接口中 `ScriptExecutor`

    - #### execName

          public <T> T execName(java.lang.String... scriptNames)

      从接口复制的说明: `ScriptExecutor`
      执行脚本(根据名称)
      指定者:
        `execName` 在接口中 `ScriptExecutor`
      参数:
        `scriptNames` - 配置的脚本名，用ScriptLookup加载其内容逐一执行。

    - #### call

          public <T> T call(java.lang.String name,
                            java.lang.Object... args)

      从接口复制的说明: `ScriptExecutor`
      调用函数
      指定者:
        `call` 在接口中 `ScriptExecutor`

    - #### validate

          public ScriptValidateResult validate(java.lang.String script)

      从接口复制的说明: `ScriptExecutor`
      验证脚本
      指定者:
        `validate` 在接口中 `ScriptExecutor`

    - #### end

          public void end()

      从接口复制的说明: `ScriptExecutor`
      结束(required)
      指定者:
        `end` 在接口中 `ScriptExecutor`

    - #### getContext

          public ScriptContext getContext()

      指定者:
        `getContext` 在接口中 `ScriptExecutor`
      返回:
        上下文信息

    - #### attachDebug

          public DebugManager attachDebug(java.lang.String debugId,
                                          DebugStepBack dcb)

    - #### debugStepStart

          public void debugStepStart(boolean waitForStartted)

    - #### registKSUtilPlugin

          public void registKSUtilPlugin(java.lang.String scriptNumber,
                                         java.lang.String scriptContent)

      指定者:
        `registKSUtilPlugin` 在接口中 `ScriptExecutor`