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.