Class NashornHooker

  • All Implemented Interfaces:

    
    public abstract class NashornHooker
    
                        

    nashorn挂钩

    • Constructor Detail

      • NashornHooker

        NashornHooker()
    • Method Detail

      • 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:

        是否包含对应函数