kd.bos.script.jsengine.def.typemap

## 类 KJsType

- java.lang.Object
- - kd.bos.script.jsengine.def.typemap.KJsType

-     public final class KJsType
      extends java.lang.Object

  js-->java

- - ### 构造器概要

    构造器
    构造器和说明
    `KJsType()`

  - ### 方法概要

    所有方法 静态方法 具体方法
    限定符和类型 | 方法和说明
    --- | ---
    `static java.util.Set<ScriptClassInfo>` | `getDefinedClasses(boolean withUnPublish)` 应在executor的线程中调用，否则上下文不对，KDyTypeCache.getDefinedSet()获取错误。
    `static java.lang.String` | `getJSNameSpace(java.lang.Class<?> ksObjectCls)`
    `static java.lang.String` | `getJSTypeName(java.lang.Class<?> ksObjectCls)`
    `static boolean` | `isJsReservedClassName(java.lang.String jsClassName)` js对象命名保留关键字(引擎内部使用)
    `static boolean` | `isKSObjectMethod(java.lang.reflect.Method m)`
    `static boolean` | `isKSObjectType(java.lang.Class<?> ksObjectCls)`
    `static org.mozilla.javascript.Scriptable` | `java2js(java.lang.Object value, org.mozilla.javascript.Scriptable scope)`
    `static org.mozilla.javascript.Scriptable` | `java2jsClass(org.mozilla.javascript.Scriptable scope, java.lang.Class<?> javaClass)`
    `static java.lang.Object` | `js2java(java.lang.Object value)` js object转为默认java类型
    `static java.lang.Object` | `js2java(java.lang.Object value, java.lang.Class<?> desiredType)` js object转为指定java类型
    `static void` | `registUserType(java.lang.Class<?> ksObjectCls)` 注册 standardCls=标注@KSObject的wrapObjectType类型 standardCls及其子类型的对象，被封装成ksObjectCls类型。
    `static org.mozilla.javascript.Scriptable` | `wrapAsJavaObject(java.lang.Object value, org.mozilla.javascript.Scriptable scope, java.lang.Class<?> staticType)`

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

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

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

    - #### KJsType

          public KJsType()

  - ### 方法详细资料

    - #### registUserType

          public static void registUserType(java.lang.Class<?> ksObjectCls)

      注册

           standardCls=标注@KSObject的wrapObjectType类型
           standardCls及其子类型的对象，被封装成ksObjectCls类型。

      参数:
        `ksObjectCls` - 标注@KSObject的封装类

    - #### js2java

          public static java.lang.Object js2java(java.lang.Object value,
                                                 java.lang.Class<?> desiredType)

      js object转为指定java类型

    - #### js2java

          public static java.lang.Object js2java(java.lang.Object value)

      js object转为默认java类型
      另请参阅:
        `NativeJavaObject.coerceTypeImpl(java.lang.Class<?>, java.lang.Object)`, `NativeJavaObject.getJSTypeCode(java.lang.Object)`, `ScriptableObject.get(java.lang.String, org.mozilla.javascript.Scriptable)`

    - #### java2js

          public static org.mozilla.javascript.Scriptable java2js(java.lang.Object value,
                                                                  org.mozilla.javascript.Scriptable scope)

    - #### wrapAsJavaObject

          public static org.mozilla.javascript.Scriptable wrapAsJavaObject(java.lang.Object value,
                                                                           org.mozilla.javascript.Scriptable scope,
                                                                           java.lang.Class<?> staticType)

    - #### java2jsClass

          public static org.mozilla.javascript.Scriptable java2jsClass(org.mozilla.javascript.Scriptable scope,
                                                                       java.lang.Class<?> javaClass)

    - #### isJsReservedClassName

          public static boolean isJsReservedClassName(java.lang.String jsClassName)

      js对象命名保留关键字(引擎内部使用)
      参数:
        `jsClassName` -
      返回:

    - #### isKSObjectType

          public static boolean isKSObjectType(java.lang.Class<?> ksObjectCls)

    - #### isKSObjectMethod

          public static boolean isKSObjectMethod(java.lang.reflect.Method m)

    - #### getJSTypeName

          public static java.lang.String getJSTypeName(java.lang.Class<?> ksObjectCls)

    - #### getJSNameSpace

          public static java.lang.String getJSNameSpace(java.lang.Class<?> ksObjectCls)

    - #### getDefinedClasses

          public static java.util.Set<ScriptClassInfo> getDefinedClasses(boolean withUnPublish)

      应在executor的线程中调用，否则上下文不对，KDyTypeCache.getDefinedSet()获取错误。