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