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) {
$retval = "<?\n";
int len = statements.length;
for (int i = 0; i < len; i++) {
$retval += statements[i] + ";\n";
}
$retval += "?>";
}
statements
- 実行される文。getMethodCallSyntax
および getOutputStatement
メソッドの呼び出しの戻り値でもよい。ScriptEngine getScriptEngine()
ScriptEngineFactory
に関連付けられた ScriptEngine
のインスタンスを返します。通常、新しい ScriptEngine が返されますが、実装はエンジンをプール、共有、または再利用する可能性があります。ScriptEngine
の新しいインスタンス。 バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.