public interface ScriptEngineFactory
ScriptEngineFactory是用来描述和实例
ScriptEngines。
ScriptEngine暴露发动机类元数据描述。
ScriptEngineManager用于罐文件规范描述获得所有
ScriptEngineFactories在当前类加载器实例服务提供机制。
| Modifier and Type | Method and Description |
|---|---|
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对象的方法。
|
List<String> |
getMimeTypes()
返回一个不可变列表Mimetypes,脚本可以通过引擎执行相关。
|
List<String> |
getNames()
返回的
ScriptEngine短名称不变的名单,可通过
ScriptEngineManager识别
ScriptEngine。
|
String |
getOutputStatement(String toDisplay)
返回一个可以用作语句的字符串,使用所支持的脚本语言的语法来显示指定的字符串。
|
Object |
getParameter(String key)
返回一个属性的值,该属性的意义可能是实现特定的。
|
String |
getProgram(String... statements)
返回一个有效的脚本语言可执行程序与给定的语句。
|
ScriptEngine |
getScriptEngine()
返回这个
ScriptEngineFactory相关的
ScriptEngine实例。
|
String getEngineName()
ScriptEngine全名。例如基于Mozilla Rhino JavaScript引擎的实现可能会返回犀牛Mozilla浏览器的JavaScript引擎。
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”、“犀牛”}。
String getLanguageName()
ScriptEngine所支持的脚本语言的名称。
String getLanguageVersion()
ScriptEngine。
Object getParameter(String key)
这些键的值是由getEngineName,getEngineVersion,getName返回的字符串,getLanguageName和getLanguageVersion respectively.
保留的关键,THREADING,其值描述发动机的行为相对于国家的脚本和维护并发执行也定义。这些价值观的关键是:
THREADING
null -引擎的实现不是线程安全的,并且不能用于多个线程同时执行脚本。"MULTITHREADED" -发动机实现内部是线程安全的,脚本可以并发执行,虽然脚本的执行在一个线程的影响可能是对其他线程可见的脚本。"THREAD-ISOLATED" -实现满足要求的“多线程”,而且,发动机保持在不同的线程中执行脚本的符号的独立价值。"STATELESS" -执行满足要求"THREAD-ISOLATED"。此外,脚本的执行不会在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 += ",";
}
}
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 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实例。
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.