public interface ScriptEngineFactory
ScriptEngineFactoryは、ScriptEnginesの説明およびインスタンス化に使用されます。ScriptEngineを実装する各クラスには、エンジン・クラスを記述するメタデータを公開するための対応するファクトリが存在します。ScriptEngineManagerは、JARファイルの仕様に記載されたサービス・プロバイダ・メカニズムを使用して、現在のClassLoaderで使用可能なすべてのScriptEngineFactoriesのインスタンスを取得します。| 修飾子と型 | メソッドと説明 |
|---|---|
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のインスタンスを返します。 |
String getEngineName()
ScriptEngineの完全な名前を返します。たとえば、Mozilla Rhino Javascriptエンジンに基づいた実装はRhino Mozilla Javascript Engineを返します。String getEngineVersion()
ScriptEngineのバージョンを返します。ScriptEngine実装のバージョン。List<String> getExtensions()
ScriptEngineによってサポートされる言語で記述されたスクリプトを識別します。この配列は、ScriptEngineManagerがgetEngineByExtensionメソッドを実装するために使用します。List<String> getMimeTypes()
ScriptEngineManagerがgetEngineByMimetypeメソッドを実装するために使用します。List<String> getNames()
ScriptEngineの短い名前の不変のリストを返します。短い名前は、ScriptEngineManagerによるScriptEngineの識別に使用可能です。たとえば、Mozilla Rhino Javascriptエンジンに基づいた実装は{"javascript", "rhino"}を含むリストを返します。String getLanguageName()
ScriptEngineがサポートするスクリプト言語の名前を返します。String getLanguageVersion()
ScriptEngineがサポートするスクリプト言語のバージョンを返します。Object getParameter(String key)
これらのキーの値はそれぞれ、getEngineName、getEngineVersion、getName、getLanguageName、getLanguageVersionによって返される文字列です。
予約済キーTHREADINGも定義されています。このキーの値は、スクリプトの並行実行と状態の管理に関するエンジンの動作を記述します。THREADINGキーの値は次のとおりです。
null - エンジン実装はスレッド・セーフでないため、複数のスレッド上で同時にスクリプトを実行するためには使用できません。
"MULTITHREADED" - エンジン実装は内部的にスレッドセーフなので複数のスクリプトを同時に実行できますが、あるスレッド上でのスクリプト実行の効果が別のスレッド上のスクリプトから見える可能性があります。
「THREAD-ISOLATED」 - エンジン実装は「MULTITHREADED」の要件を満たし、さらに異なるスレッド上で実行されているスクリプト内のシンボルに対して独立した値を維持します。
「STATELESS」 - 実装は
「THREAD-ISOLATED」の要件を満たします。また、スクリプトの実行によって、ScriptEngineのエンジン・スコープであるBindings内のマッピングが変更されることはありません。特に、Bindings内のキーおよび関連付けられた値は、スクリプトの実行前後で同じです。
key - パラメータの名前null。String getMethodCallSyntax(String obj, String m, String... args)
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 getOutputStatement(String toDisplay)
public String getOutputStatement(String toDisplay) {
return "print(" + toDisplay + ")";
}
toDisplay - 返される文によって表示されるString。String getProgram(String... statements)
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メソッドの呼出しの戻り値でもよい。ScriptEngine getScriptEngine()
ScriptEngineFactoryに関連付けられたScriptEngineのインスタンスを返します。通常、新しいScriptEngineが返されますが、実装でエンジンをプール、共有または再利用することもできます。ScriptEngineの新しいインスタンス。 バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.