|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
public interface ScriptEngineFactory
ScriptEngineFactory
用來描述和實例化 ScriptEngine
。
實作 ScriptEngine
的每個類別都有一個相應的處理器,該處理器公開描述引擎類別的元資料。
ScriptEngineManager
使用 Jar 檔案規範 中描述的服務提供者機制來獲取所有當前 ClassLoader 中可用的 ScriptEngineFactory
實例。
方法摘要 | |
---|---|
String |
getEngineName()
返回 ScriptEngine 的完全名稱。 |
String |
getEngineVersion()
返回 ScriptEngine 的版本。 |
List<String> |
getExtensions()
返回檔案擴展名的不可變列表,這些擴展名通常標識使用此 ScriptEngine 支持的語言所編寫的文稿。 |
String |
getLanguageName()
返回此 ScriptEngine 支持的文稿語言的名稱。 |
String |
getLanguageVersion()
返回此 ScriptEngine 支持的文稿語言的版本。 |
String |
getMethodCallSyntax(String obj,
String m,
String... args)
返回一個 String,該 String 可用來調用使用受支持文稿語言語法的 Java 物件的方法。 |
List<String> |
getMimeTypes()
返回 mimetypes 的不可變列表,這些 mimetypes 與可由引擎執行的文稿關聯。 |
List<String> |
getNames()
返回 ScriptEngine 短名稱的不可變列表,這些名稱由 ScriptEngineManager 用來標識 ScriptEngine 。 |
String |
getOutputStatement(String toDisplay)
返回一個 String,該 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
返回的 String。
還定義了保留鍵 THREADING
,它的值描述了與文稿共時執行和狀態維護有關的引擎行為。用於 THREADING
鍵的值有:
null
- 引擎實作不是執行緒安全的,並且無法用來在多個執行緒上共時執行文稿。
"MULTITHREADED"
- 引擎實作是內部執行緒安全的,並且文稿可以共時執行,儘管在某個執行緒上執行文稿的效果對於另一個執行緒上的文稿是可見的。
"THREAD-ISOLATED"
- 該實作滿足 "MULTITHREADED" 的要求,並且引擎為不同執行緒上執行的文稿中的符號維護獨立的值。
"STATELESS"
- 該實作滿足 "THREAD-ISOLATED"
的要求。此外,文稿執行不改變 Bindings
中的映射關係,該 Bindings 是 ScriptEngine
的引擎範圍。具體來說,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 += ")";
} else {
ret += ",";
}
}
return ret;
}
obj
- 表示其方法將被調用的物件的名稱。該名稱是用來使用 ScriptEngine
的 put
方法、ENGINE_SCOPE
Bindings
的 put
方法或者 ScriptContext
的 setAttribute
方法創建 bindings 的名稱。文稿中使用的標識符可以是指定標識符的裝飾形式。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
實例。
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。