-
- 既知のすべての実装クラス:
NashornScriptEngineFactory
public interface ScriptEngineFactory
ScriptEngineFactory
は、ScriptEngines
の説明およびインスタンス化に使用されます。ScriptEngine
を実装する各クラスには、エンジン・クラスを記述するメタデータを公開するための対応するファクトリが存在します。ScriptEngineManager
は、ScriptEngineFactory
インスタンスのインスタンスを取得するために、ServiceLoader
クラスで記述されているサービス・プロバイダ・ローダー・メカニズムを使用します。ScriptEngineManager()
とScriptEngineManager(java.lang.ClassLoader)
を参照してください。- 導入されたバージョン:
- 1.6
-
-
メソッドのサマリー
修飾子と型 メソッド 説明 String
getEngineName()
ScriptEngine
の完全な名前を返します。String
getEngineVersion()
ScriptEngine
のバージョンを返します。List<String>
getExtensions()
ファイル名拡張子の不変のリストを返します。通常、ファイル名拡張子は、このScriptEngine
によってサポートされる言語で記述されたスクリプトを識別します。String
getLanguageName()
このScriptEngine
がサポートするスクリプト言語の名前を返します。String
getLanguageVersion()
このScriptEngine
がサポートするスクリプト言語のバージョンを返します。String
getMethodCallSyntax(String obj, String m, String... args)
サポートされるスクリプト言語の構文を使用してJavaオブジェクトのメソッドを呼び出すために使用可能なStringを返します。List<String>
getMimeTypes()
エンジンが実行できるスクリプトに関連付けられた、MimeTypeの不変のリストを返します。List<String>
getNames()
ScriptEngine
の短い名前の不変のリストを返します。短い名前は、ScriptEngineManager
によるScriptEngine
の識別に使用可能です。String
getOutputStatement(String toDisplay)
サポートされるスクリプト言語の構文を使用して、指定されたStringを表示するための文として使用可能なStringを返します。Object
getParameter(String key)
属性の値を返します。この値は実装に固有の意味を持つ場合もあります。String
getProgram(String... statements)
指定された文を含む、スクリプト言語の有効な実行可能プログラムを返します。ScriptEngine
getScriptEngine()
このScriptEngineFactory
に関連付けられたScriptEngine
のインスタンスを返します。
-
-
-
メソッドの詳細
-
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
の短い名前の不変のリストを返します。短い名前は、ScriptEngineManager
によるScriptEngine
の識別に使用可能です。 たとえば、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
最初の4つのキーについては、これらのキーの値はそれぞれ
getEngineName
、getEngineVersion
、getLanguageName
、getLanguageVersion
によって返される文字列です。 NAMEについては、getNames
によって返される文字列のいずれかが返されます。
予約済キーTHREADING
も定義されています。このキーの値は、スクリプトの並行実行と状態の管理に関するエンジンの動作を記述します。THREADING
キーの値は次のとおりです。
null
- エンジン実装はスレッド・セーフでないため、複数のスレッド上で同時にスクリプトを実行するためには使用できません。"MULTITHREADED"
- エンジン実装は内部的にスレッドセーフなので複数のスクリプトを同時に実行できますが、あるスレッド上でのスクリプト実行の効果が別のスレッド上のスクリプトから見える可能性があります。「THREAD-ISOLATED」
- エンジン実装は「MULTITHREADED」の要件を満たし、さらに異なるスレッド上で実行されているスクリプト内のシンボルに対して独立した値を維持します。"STATELESS"
- この実装は、"THREAD-ISOLATED"
の要件を満たしています。 また、スクリプトの実行によって、ScriptEngine
のエンジン・スコープであるBindings
内のマッピングが変更されることはありません。 特に、Bindings
内のキーおよび関連付けられた値は、スクリプトの実行前後で同じです。
各実装では実装固有のキーを定義できます。- パラメータ:
key
- パラメータの名前- 戻り値:
- 指定されたパラメータの値。 キーに割り当てられている値がない場合は
null
。 - 例外:
NullPointerException
- keyがnullの場合
-
getMethodCallSyntax
String getMethodCallSyntax(String obj, String m, String... args)
サポートされるスクリプト言語の構文を使用して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; }
- パラメータ:
obj
- 呼び出されるメソッドを持つオブジェクトを表す名前。 この名前は、ScriptEngine
のput
メソッド、ENGINE_SCOPE
Bindings
のput
メソッド、ScriptContext
のsetAttribute
メソッドを使用してバインディングを作成するときに使用します。 スクリプトで使用される識別子は、指定された識別子の装飾された形式とすることもできる。m
- 呼び出されるメソッドの名前。args
- メソッドの呼出しで指定される引数の名前。- 戻り値:
- スクリプト言語の構文でメソッドの呼出しに使用されるString。
- 例外:
NullPointerException
- objまたはmまたはargsまたはargsのいずれかの要素がnullの場合。
-
getOutputStatement
String getOutputStatement(String toDisplay)
サポートされるスクリプト言語の構文を使用して、指定されたStringを表示するための文として使用可能なStringを返します。 たとえば、Perlエンジンの実装では次のようになります。public String getOutputStatement(String toDisplay) { return "print(" + toDisplay + ")"; }
- パラメータ:
toDisplay
- 返される文によって表示されるString。- 戻り値:
- スクリプト言語の構文で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
- 実行される文。getMethodCallSyntax
およびgetOutputStatement
メソッドの呼出しの戻り値でもよい。- 戻り値:
- プログラム
- 例外:
NullPointerException
-statements
配列またはその要素のいずれかがnullの場合
-
getScriptEngine
ScriptEngine getScriptEngine()
このScriptEngineFactory
に関連付けられたScriptEngine
のインスタンスを返します。 通常、新しいScriptEngineが返されますが、実装でエンジンをプール、共有または再利用することもできます。- 戻り値:
ScriptEngine
の新しいインスタンス。
-
-