public final class KContext extends Context implements ScriptContext
Context.ClassShutterSetter
emptyArgs, errorReporterProperty, FEATURE_DYNAMIC_SCOPE, FEATURE_E4X, FEATURE_ENHANCED_JAVA_ACCESS, FEATURE_LOCATION_INFORMATION_IN_ERROR, FEATURE_MEMBER_EXPR_AS_FUNCTION_NAME, FEATURE_NON_ECMA_GET_YEAR, FEATURE_PARENT_PROTO_PROPERTIES, FEATURE_PARENT_PROTO_PROPRTIES, FEATURE_RESERVED_KEYWORD_AS_IDENTIFIER, FEATURE_STRICT_EVAL, FEATURE_STRICT_MODE, FEATURE_STRICT_VARS, FEATURE_TO_STRING_AS_SOURCE, FEATURE_V8_EXTENSIONS, FEATURE_WARNING_AS_ERROR, generateObserverCount, languageVersionProperty, VERSION_1_0, VERSION_1_1, VERSION_1_2, VERSION_1_3, VERSION_1_4, VERSION_1_5, VERSION_1_6, VERSION_1_7, VERSION_1_8, VERSION_DEFAULT, VERSION_ES6, VERSION_UNKNOWN
构造器和说明 |
---|
KContext(org.mozilla.javascript.ContextFactory factory)
安全模式:js中不能new任何java对象,必须通过外部KContext#def进去。
|
限定符和类型 | 方法和说明 |
---|---|
void |
__releaseAllScriptObject() |
void |
addScriptObject(ScriptObject so) |
ScriptObject |
createObject(java.lang.Class<? extends ScriptObject> scritableCls,
java.lang.Object... constructArgs)
创建js对象
|
org.mozilla.javascript.Scriptable |
createObject(java.lang.String namespace,
java.lang.String jsTypeName,
java.lang.Object... constructArgs) |
void |
end() |
static KContext |
get() |
<T> T |
get(java.lang.String var)
获取变量
|
java.util.Set<ScriptClassInfo> |
getAllDefinedClasses()
已定义的类名(全部)
|
java.lang.ClassLoader |
getClassLoader() |
KClassShutter |
getClassShutter() |
long |
getCurrentInstructions() |
long |
getDebugTimeout() |
java.util.Set<ScriptClassInfo> |
getDefinedClasses()
已定义的类名(仅公开给用户使用的)
|
long |
getMaxInstructions() |
KScope |
getScope() |
ScriptLookup |
getScriptLookup() |
KSecurityDomain |
getSecurityDomain() |
long |
getStartTime() |
long |
getTimeout() |
VarProvider |
getVarProvider() |
boolean |
isDebugModel() |
boolean |
isDefiningInnerClass() |
boolean |
isSafeModel() |
void |
maskDebug(boolean maskDebug)
DIM.attachTo时候给contextFactory增加了Listener(DimIProxy),
这个DimIProxy在创建Context的时候设置了debugger。
|
void |
registKSUtilPlugin(java.lang.String fileName,
java.lang.String xxxx) |
void |
require(java.lang.String... modulesOrClasses)
引入module或KSObject标识的js类。
|
void |
set(java.lang.String var,
java.lang.Object value)
设置scope变量
|
void |
setConst(java.lang.String var,
java.lang.Object value)
设置scope常量
|
void |
setCurrentInstructions(long currentInstructions) |
void |
setLimit(long timeout,
long debugTimeout,
long maxInstructions,
int instructionObserverThreshold) |
void |
setScriptLookup(ScriptLookup scriptLookup) |
void |
setSecurityDomain(KSecurityDomain securityDomain) |
void |
setValidateModel(boolean validateModel) |
void |
setVarProvider(VarProvider vp)
设置动态变量提供者
|
addActivationName, addContextListener, addPropertyChangeListener, call, call, callFunctionWithContinuations, captureContinuation, checkLanguageVersion, checkOptimizationLevel, compileFunction, compileReader, compileReader, compileString, createClassLoader, decompileFunction, decompileFunctionBody, decompileScript, enter, enter, evaluateReader, evaluateString, executeScriptWithContinuations, exit, getApplicationClassLoader, getClassShutterSetter, getCurrentContext, getDebuggableView, getDebugger, getDebuggerContextData, getE4xImplementationFactory, getElements, getErrorReporter, getFactory, getImplementationVersion, getInstructionObserverThreshold, getLanguageVersion, getLocale, getMaximumInterpreterStackDepth, getOptimizationLevel, getThreadLocal, getUndefinedValue, getWrapFactory, hasFeature, initSafeStandardObjects, initSafeStandardObjects, initSafeStandardObjects, initStandardObjects, initStandardObjects, initStandardObjects, isActivationNeeded, isGeneratingDebug, isGeneratingDebugChanged, isGeneratingSource, isSealed, isValidLanguageVersion, isValidOptimizationLevel, javaToJS, jsToJava, newArray, newArray, newObject, newObject, newObject, original_jsToJava, putThreadLocal, removeActivationName, removeContextListener, removePropertyChangeListener, removeThreadLocal, reportError, reportError, reportRuntimeError, reportRuntimeError, reportWarning, reportWarning, reportWarning, resumeContinuation, seal, setApplicationClassLoader, setCachingEnabled, setClassShutter, setDebugger, setErrorReporter, setGenerateObserverCount, setGeneratingDebug, setGeneratingSource, setInstructionObserverThreshold, setLanguageVersion, setLocale, setMaximumInterpreterStackDepth, setOptimizationLevel, setSecurityController, setWrapFactory, stringIsCompilableUnit, throwAsScriptRuntimeEx, toBoolean, toNumber, toObject, toObject, toString, toType, unseal
public KContext(org.mozilla.javascript.ContextFactory factory)
public static KContext get()
public void setValidateModel(boolean validateModel)
public void maskDebug(boolean maskDebug)
public boolean isDebugModel()
isDebugModel
在类中 Context
public boolean isDefiningInnerClass()
public void registKSUtilPlugin(java.lang.String fileName, java.lang.String xxxx)
public void end()
public void __releaseAllScriptObject()
public KScope getScope()
public KClassShutter getClassShutter()
public <T> T get(java.lang.String var)
ScriptContext
get
在接口中 ScriptContext
public void set(java.lang.String var, java.lang.Object value)
set
在接口中 ScriptContext
var
- 变量名称value
- 普通java对象public void setConst(java.lang.String var, java.lang.Object value)
setConst
在接口中 ScriptContext
public void require(java.lang.String... modulesOrClasses)
ScriptContext
require
在接口中 ScriptContext
modulesOrClasses
- module必含/字符,形如:/kd/bos/../xxx.conf
class为KSObject类全路径,形如:kd.bos...Xxxpublic ScriptObject createObject(java.lang.Class<? extends ScriptObject> scritableCls, java.lang.Object... constructArgs)
public org.mozilla.javascript.Scriptable createObject(java.lang.String namespace, java.lang.String jsTypeName, java.lang.Object... constructArgs)
public final boolean isSafeModel()
public final java.lang.ClassLoader getClassLoader()
public void setLimit(long timeout, long debugTimeout, long maxInstructions, int instructionObserverThreshold)
timeout
- 脚本超时时间(毫秒)debugTimeout
- 调试脚本超时时间maxInstruction
- 最多指令数instructionObserverThreshold
- 观察指令阀值:每执行这个指令数,进行一次超时检测。public long getTimeout()
public long getDebugTimeout()
public long getStartTime()
public long getMaxInstructions()
public long getCurrentInstructions()
public void setCurrentInstructions(long currentInstructions)
public KSecurityDomain getSecurityDomain()
public void setSecurityDomain(KSecurityDomain securityDomain)
public ScriptLookup getScriptLookup()
public void setScriptLookup(ScriptLookup scriptLookup)
setScriptLookup
在接口中 ScriptContext
public void addScriptObject(ScriptObject so)
public void setVarProvider(VarProvider vp)
ScriptContext
setVarProvider
在接口中 ScriptContext
public VarProvider getVarProvider()
public java.util.Set<ScriptClassInfo> getDefinedClasses()
ScriptContext
getDefinedClasses
在接口中 ScriptContext
public java.util.Set<ScriptClassInfo> getAllDefinedClasses()
ScriptContext
getAllDefinedClasses
在接口中 ScriptContext