Class NashornHooker
-
- All Implemented Interfaces:
public abstract class NashornHookernashorn挂钩
-
-
Constructor Summary
Constructors Constructor Description NashornHooker()
-
Method Summary
Modifier and Type Method Description final ScriptEnginegetNashornEngine()获取一个新的Nashorn引擎 final ScriptEnginegetNashornEngine(Array<String> args)获取一个新的Nashorn引擎 abstract ScriptEnginegetNashornEngine(Array<String> args, ClassLoader classLoader)获取一个新的Nashorn引擎 final ScriptEnginegetGlobalEngine()获取一个共享上下文的Nashorn引擎(不要尝试在这个引擎中声明变量, 出现BUG自行思考) final CompiledScriptcompile(String string)编译一段js脚本, 返回已编译脚本对象(将创建一个新的ScriptEngine用于解析脚本) final CompiledScriptcompile(Reader reader)编译一段js脚本, 返回已编译脚本对象(将创建一个新的ScriptEngine用于解析脚本) final CompiledScriptcompile(ScriptEngine engine, String string)编译一段js脚本, 返回已编译脚本对象 final CompiledScriptcompile(ScriptEngine engine, Reader reader)编译一段js脚本, 返回已编译脚本对象 abstract Objectinvoke(CompiledScript compiledScript, String function, Map<String, Object> map, Object args)调用脚本中的某个函数, 返回函数返回值 因为内部涉及ScriptObjectMirror的使用, 所以放入nashornHooker abstract BooleanisFunction(ScriptEngine engine, Object func)检测引擎中是否包含对应函数 final BooleanisFunction(ScriptEngine engine, String func)检测引擎中是否包含对应函数 -
-
Method Detail
-
getNashornEngine
final ScriptEngine getNashornEngine()
获取一个新的Nashorn引擎
- Returns:
一个新的Nashorn引擎
-
getNashornEngine
final ScriptEngine getNashornEngine(Array<String> args)
获取一个新的Nashorn引擎
- Parameters:
args- 应用于引擎的参数- Returns:
一个新的Nashorn引擎
-
getNashornEngine
abstract ScriptEngine getNashornEngine(Array<String> args, ClassLoader classLoader)
获取一个新的Nashorn引擎
- Parameters:
args- 应用于引擎的参数classLoader- 用于生成引擎的classLoader- Returns:
一个新的Nashorn引擎
-
getGlobalEngine
final ScriptEngine getGlobalEngine()
获取一个共享上下文的Nashorn引擎(不要尝试在这个引擎中声明变量, 出现BUG自行思考)
- Returns:
一个新的Nashorn引擎
-
compile
final CompiledScript compile(String string)
编译一段js脚本, 返回已编译脚本对象(将创建一个新的ScriptEngine用于解析脚本)
- Parameters:
string- 待编译脚本文本- Returns:
已编译JS脚本
-
compile
final CompiledScript compile(Reader reader)
编译一段js脚本, 返回已编译脚本对象(将创建一个新的ScriptEngine用于解析脚本)
- Parameters:
reader- 待编译脚本文件- Returns:
已编译JS脚本
-
compile
final CompiledScript compile(ScriptEngine engine, String string)
编译一段js脚本, 返回已编译脚本对象
- Parameters:
engine- 用于编译脚本的脚本引擎string- 待编译脚本文本- Returns:
已编译JS脚本
-
compile
final CompiledScript compile(ScriptEngine engine, Reader reader)
编译一段js脚本, 返回已编译脚本对象
- Parameters:
engine- 用于编译脚本的脚本引擎reader- 待编译脚本文件- Returns:
已编译JS脚本
-
invoke
abstract Object invoke(CompiledScript compiledScript, String function, Map<String, Object> map, Object args)
调用脚本中的某个函数, 返回函数返回值 因为内部涉及ScriptObjectMirror的使用, 所以放入nashornHooker
- Parameters:
compiledScript- 待调用脚本function- 待调用函数名map- 顶级变量args- 传入函数的参数- Returns:
返回值
-
isFunction
abstract Boolean isFunction(ScriptEngine engine, Object func)
检测引擎中是否包含对应函数
- Parameters:
engine- 函数所在引擎func- 待检测函数- Returns:
是否包含对应函数
-
isFunction
final Boolean isFunction(ScriptEngine engine, String func)
检测引擎中是否包含对应函数
- Parameters:
engine- 函数所在引擎func- 函数名- Returns:
是否包含对应函数
-
-
-
-