Module  java.scripting
软件包  javax.script

Interface ScriptEngineFactory

    • 方法详细信息

      • getEngineName

        String getEngineName​()
        返回ScriptEngine的全名。 例如,基于Mozilla Rhino Javascript引擎的实现可能会返回Rhino Mozilla Javascript Engine
        结果
        引擎实现的名称。
      • getEngineVersion

        String getEngineVersion​()
        返回 ScriptEngine的版本。
        结果
        ScriptEngine实现版本。
      • getExtensions

        List<String> getExtensions​()
        返回一个不可变的文件扩展名列表,它们通常标识以ScriptEngine支持的语言编写的脚本。 该数组由ScriptEngineManager用于实现其getEngineByExtension方法。
        结果
        扩展列表。
      • getMimeTypes

        List<String> getMimeTypes​()
        返回一个不可变的mimetype列表,与引擎可执行的脚本相关联。 该列表由ScriptEngineManager类用于实现其getEngineByMimetype方法。
        结果
        mime类型列表。
      • getNames

        List<String> getNames​()
        返回短名称的不可变列表ScriptEngine ,可用于识别ScriptEngineScriptEngineManager 例如,基于Mozilla Rhino Javascript引擎的实现可能会返回包含{“javascript”,“rhino”}的列表。
        结果
        一个不可变的名单
      • getLanguageName

        String getLanguageName​()
        返回此 ScriptEngine支持的脚本语言的名称。
        结果
        支持的语言的名称。
      • getLanguageVersion

        String getLanguageVersion​()
        返回此 ScriptEngine支持的脚本语言版本。
        结果
        所支持语言的版本。
      • getParameter

        Object getParameter​(String key)
        返回属性的值,该属性的含义可能是实现特定的。 在所有实现中定义值的键是:
        • ScriptEngine.ENGINE
        • ScriptEngine.ENGINE_VERSION
        • ScriptEngine.LANGUAGE
        • ScriptEngine.LANGUAGE_VERSION
        • ScriptEngine.NAME

        这些键中的值是由返回的字符串getEngineNamegetEngineVersiongetLanguageNamegetLanguageVersion用于第一四个键分别。 对于NAME,返回getNames返回的其中一个字符串。

        一个保留密钥, THREADING ,其值描述了引擎在并发执行脚本和维护状态方面的行为。 THREADING键的这些值为:

        • null - 引擎实现不是线程安全的,不能用于在多个线程上同时执行脚本。
        • "MULTITHREADED" - 引擎实现是内部线程安全的,并且脚本可以并发执行,尽管在一个线程上执行脚本的效果对于其他线程上的脚本可能是可见的。
        • "THREAD-ISOLATED" - 该实现满足“MULTITHREADED”的要求,并且引擎为在不同线程上执行的脚本中的符号保持独立值。
        • "STATELESS" - 实现满足"THREAD-ISOLATED"的要求。 此外,脚本执行不改变的映射Bindings这是发动机范围ScriptEngine 特别地, Bindings的键及其相关值在脚本执行之前和之后是相同的。


        实现可以定义实现特定的密钥。
        参数
        key - 参数的名称
        结果
        给定参数的值。 如果没有为密钥分配值,则返回null
        异常
        NullPointerException - 如果键为空。
      • getMethodCallSyntax

        String getMethodCallSyntax​(String obj,
                                   String m,
                                   String... args)
        返回一个String,可以使用支持的脚本语言的语法来调用Java对象的方法。 例如,Javascript引擎的实现可能是
           public String getMethodCallSyntax(String obj, String m, String... args) { String ret = obj; ret += "." + m + "("; for (int i = 0; i < args.length; i++) { ret += args[i]; if (i < args.length - 1) { ret += ","; } } ret += ")"; return ret; }  
        参数
        obj - 表示要调用其方法的对象的名称。 名称是一个用于创建使用绑定put的方法ScriptEngine ,所述put一个的方法ENGINE_SCOPE Bindings ,或setAttribute的方法ScriptContext 脚本中使用的标识符可以是指定的标识符的装饰形式。
        m - 要调用的方法的名称。
        args - 方法调用中参数的名称。
        结果
        用于在脚本语言语法中调用方法的String。
      • getOutputStatement

        String getOutputStatement​(String toDisplay)
        返回一个可用作语句的字符串,使用支持的脚本语言的语法显示指定的String。 例如,Perl引擎的实现可能是
           public String getOutputStatement(String toDisplay) { return "print(" + toDisplay + ")"; }  
        参数
        toDisplay - 要返回的语句显示的字符串。
        结果
        用于在脚本语言语法中显示String的字符串。
      • getProgram

        String getProgram​(String... statements)
        返回带有给定语句的有效脚本语言可执行程序。 例如PHP引擎的实现可能是:
           public String getProgram(String... statements) { String retval = "<?\n"; int len = statements.length; for (int i = 0; i < len; i++) { retval += statements[i] + ";\n"; } return retval += "?>"; }  
        参数
        statements - 要执行的语句。 可能会返回值为getMethodCallSyntaxgetOutputStatement方法。
        结果
        该程序
        异常
        NullPointerException - 如果 statements数组或其任何元素为空
      • getScriptEngine

        ScriptEngine getScriptEngine​()
        返回与此ScriptEngineFactory相关联的ScriptEngine的实例。 通常返回一个新的ScriptEngine,但实现可能会共享,共享或重用引擎。
        结果
        一个新的 ScriptEngine实例。