| 
JavaTM 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 Platform Standard Ed. 6  | 
|||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。