モジュール jdk.scripting.nashorn
パッケージ jdk.nashorn.api.scripting

クラスNashornScriptEngineFactory

  • すべての実装されたインタフェース:
    ScriptEngineFactory


    public final class NashornScriptEngineFactory
    extends Object
    implements ScriptEngineFactory
    NashornのJSR-223準拠スクリプト・エンジン・ファクトリ。 次に応答するエンジン:
    • 名前"nashorn""Nashorn""js""JS""JavaScript""javascript""ECMAScript""ecmascript"
    • MIMEタイプ"application/javascript""application/ecmascript""text/javascript""text/ecmascript"
    • および拡張子"js"
    エンジンで実行される、getScriptEngine(String[])を使用して作成されたプログラムには、"arguments"という名前の、グローバル変数としてアクセス可能な引数が渡されます。
    導入されたバージョン:
    1.8u40
    • コンストラクタの詳細

      • NashornScriptEngineFactory

        public NashornScriptEngineFactory​()
    • メソッドの詳細

      • getEngineName

        public String getEngineName​()
        インタフェースからコピーされた説明:ScriptEngineFactory
        ScriptEngineの完全な名前を返します。 たとえば、Mozilla Rhino Javascriptエンジンに基づいた実装はRhino Mozilla Javascript Engineを返します。
        定義:
        インタフェースScriptEngineFactorygetEngineName
        戻り値:
        エンジンの実装の名前。
      • getExtensions

        public List<String> getExtensions​()
        インタフェースからコピーされた説明:ScriptEngineFactory
        ファイル名拡張子の不変のリストを返します。通常、ファイル名拡張子は、このScriptEngineによってサポートされる言語で記述されたスクリプトを識別します。 この配列は、ScriptEngineManagergetEngineByExtensionメソッドを実装するために使用します。
        定義:
        インタフェースScriptEngineFactorygetExtensions
        戻り値:
        拡張子のリスト。
      • getLanguageName

        public String getLanguageName​()
        インタフェースからコピーされた説明:ScriptEngineFactory
        このScriptEngineがサポートするスクリプト言語の名前を返します。
        定義:
        インタフェースScriptEngineFactorygetLanguageName
        戻り値:
        サポートされる言語の名前。
      • getLanguageVersion

        public String getLanguageVersion​()
        インタフェースからコピーされた説明:ScriptEngineFactory
        このScriptEngineがサポートするスクリプト言語のバージョンを返します。
        定義:
        インタフェースScriptEngineFactorygetLanguageVersion
        戻り値:
        サポートされる言語のバージョン。
      • getMethodCallSyntax

        public String getMethodCallSyntax​(String obj,
                                          String method,
                                          String... args)
        インタフェースからコピーされた説明:ScriptEngineFactory
        サポートされるスクリプト言語の構文を使用してJavaオブジェクトのメソッドを呼び出すために使用可能なStringを返します。 たとえば、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;
         }
          
        定義:
        インタフェースScriptEngineFactorygetMethodCallSyntax
        パラメータ:
        obj - 呼び出されるメソッドを持つオブジェクトを表す名前。 この名前は、ScriptEngineputメソッド、ENGINE_SCOPE Bindingsputメソッド、ScriptContextsetAttributeメソッドを使用してバインディングを作成するときに使用します。 スクリプトで使用される識別子は、指定された識別子の装飾された形式とすることもできる。
        method - 呼び出されるメソッドの名前。
        args - メソッドの呼出しで指定される引数の名前。
        戻り値:
        スクリプト言語の構文でメソッドの呼出しに使用されるString。
      • getMimeTypes

        public List<String> getMimeTypes​()
        インタフェースからコピーされた説明:ScriptEngineFactory
        エンジンが実行できるスクリプトに関連付けられた、MimeTypeの不変のリストを返します。 このリストは、ScriptEngineManagergetEngineByMimetypeメソッドを実装するために使用します。
        定義:
        インタフェースScriptEngineFactorygetMimeTypes
        戻り値:
        MIMEタイプのリスト。
      • getNames

        public List<String> getNames​()
        インタフェースからコピーされた説明:ScriptEngineFactory
        ScriptEngineの短い名前の不変のリストを返します。短い名前は、ScriptEngineManagerによるScriptEngineの識別に使用可能です。 たとえば、Mozilla Rhino Javascriptエンジンに基づいた実装は{"javascript", "rhino"}を含むリストを返します。
        定義:
        インタフェースScriptEngineFactorygetNames
        戻り値:
        短い名前の不変のリスト
      • getOutputStatement

        public String getOutputStatement​(String toDisplay)
        インタフェースからコピーされた説明:ScriptEngineFactory
        サポートされるスクリプト言語の構文を使用して、指定されたStringを表示するための文として使用可能なStringを返します。 たとえば、Perlエンジンの実装では次のようになります。
        
         public String getOutputStatement(String toDisplay) {
              return "print(" + toDisplay + ")";
         }
         
        定義:
        インタフェースScriptEngineFactorygetOutputStatement
        パラメータ:
        toDisplay - 返される文によって表示されるString。
        戻り値:
        スクリプト言語の構文でStringの表示に使用される文字列。
      • getParameter

        public Object getParameter​(String key)
        インタフェースからコピーされた説明:ScriptEngineFactory
        属性の値を返します。この値は実装に固有の意味を持つ場合もあります。 値がすべての実装で定義されるキーは次のとおりです。
        • ScriptEngine.ENGINE
        • ScriptEngine.ENGINE_VERSION
        • ScriptEngine.LANGUAGE
        • ScriptEngine.LANGUAGE_VERSION
        • ScriptEngine.NAME

        最初の4つのキーについては、これらのキーの値はそれぞれgetEngineNamegetEngineVersiongetLanguageNamegetLanguageVersionによって返される文字列です。 NAMEについては、getNamesによって返される文字列のいずれかが返されます。

        予約済キーTHREADINGも定義されています。このキーの値は、スクリプトの並行実行と状態の管理に関するエンジンの動作を記述します。
        THREADINGキーの値は次のとおりです。

        • null - エンジン実装はスレッド・セーフでないため、複数のスレッド上で同時にスクリプトを実行するためには使用できません。
        • "MULTITHREADED" - エンジン実装は内部的にスレッドセーフなので複数のスクリプトを同時に実行できますが、あるスレッド上でのスクリプト実行の効果が別のスレッド上のスクリプトから見える可能性があります。
        • 「THREAD-ISOLATED」 - エンジン実装は「MULTITHREADED」の要件を満たし、さらに異なるスレッド上で実行されているスクリプト内のシンボルに対して独立した値を維持します。
        • "STATELESS" - この実装は、"THREAD-ISOLATED"の要件を満たしています。 また、スクリプトの実行によって、ScriptEngineのエンジン・スコープであるBindings内のマッピングが変更されることはありません。 特に、Bindings内のキーおよび関連付けられた値は、スクリプトの実行前後で同じです。


        各実装では実装固有のキーを定義できます。
        定義:
        インタフェースScriptEngineFactorygetParameter
        パラメータ:
        key - パラメータの名前
        戻り値:
        指定されたパラメータの値。 キーに割り当てられている値がない場合はnull
      • getProgram

        public String getProgram​(String... statements)
        インタフェースからコピーされた説明:ScriptEngineFactory
        指定された文を含む、スクリプト言語の有効な実行可能プログラムを返します。 たとえば、PHPエンジンの実装では次のようになります。
        
         public String getProgram(String... statements) {
              String retval = "<?
        ";
              int len = statements.length;
              for (int i = 0; i < len; i++) {
                  retval += statements[i] + ";
        ";
              }
              return retval += "?>";
         }
         
        定義:
        インタフェースScriptEngineFactorygetProgram
        パラメータ:
        statements - 実行される文。 getMethodCallSyntaxおよびgetOutputStatementメソッドの呼出しの戻り値でもよい。
        戻り値:
        プログラム
      • getScriptEngine

        public ScriptEngine getScriptEngine​()
        インタフェースからコピーされた説明:ScriptEngineFactory
        このScriptEngineFactoryに関連付けられたScriptEngineのインスタンスを返します。 通常、新しいScriptEngineが返されますが、実装でエンジンをプール、共有または再利用することもできます。
        定義:
        インタフェースScriptEngineFactorygetScriptEngine
        戻り値:
        ScriptEngineの新しいインスタンス。
      • getScriptEngine

        public ScriptEngine getScriptEngine​(ClassLoader appLoader)
        指定されたクラス・ローダーで初期化された新しいスクリプト・エンジンを作成します。
        パラメータ:
        appLoader - スクリプト"app"クラス・ローダーとして使用されるクラス・ローダー。
        戻り値:
        新しく作成されたスクリプト・エンジン。
        例外:
        SecurityException - セキュリティ管理者のcheckPermissionRuntimePermission("nashorn.setConfig")を拒否する場合
      • getScriptEngine

        public ScriptEngine getScriptEngine​(ClassFilter classFilter)
        指定されたクラス・フィルタで初期化された新しいスクリプト・エンジンを作成します。
        パラメータ:
        classFilter - 使用するクラス・フィルタ。
        戻り値:
        新しく作成されたスクリプト・エンジン。
        例外:
        NullPointerException - classFilternullである場合
        SecurityException - セキュリティ管理者のcheckPermissionRuntimePermission("nashorn.setConfig")を拒否する場合
      • getScriptEngine

        public ScriptEngine getScriptEngine​(String... args)
        指定された引数で初期化された新しいスクリプト・エンジンを作成します。
        パラメータ:
        args - スクリプト・エンジンに渡される引数配列。
        戻り値:
        新しく作成されたスクリプト・エンジン。
        例外:
        NullPointerException - argsnullである場合
        SecurityException - セキュリティ管理者のcheckPermissionRuntimePermission("nashorn.setConfig")を拒否する場合
      • getScriptEngine

        public ScriptEngine getScriptEngine​(String[] args,
                                            ClassLoader appLoader)
        指定された引数と指定されたクラス・ローダーで初期化された新しいスクリプト・エンジンを作成します。
        パラメータ:
        args - スクリプト・エンジンに渡される引数配列。
        appLoader - スクリプト"app"クラス・ローダーとして使用されるクラス・ローダー。
        戻り値:
        新しく作成されたスクリプト・エンジン。
        例外:
        NullPointerException - argsnullである場合
        SecurityException - セキュリティ管理者のcheckPermissionRuntimePermission("nashorn.setConfig")を拒否する場合
      • getScriptEngine

        public ScriptEngine getScriptEngine​(String[] args,
                                            ClassLoader appLoader,
                                            ClassFilter classFilter)
        指定された引数、クラス・ローダー、およびクラス・フィルタで初期化された新しいスクリプト・エンジンを作成します。
        パラメータ:
        args - スクリプト・エンジンに渡される引数配列。
        appLoader - スクリプト"app"クラス・ローダーとして使用されるクラス・ローダー。
        classFilter - 使用するクラス・フィルタ。
        戻り値:
        新しく作成されたスクリプト・エンジン。
        例外:
        NullPointerException - argsまたはclassFilternullである場合
        SecurityException - セキュリティ管理者のcheckPermissionRuntimePermission("nashorn.setConfig")を拒否する場合