-  
       
- 所有已知实现类:
 -  
         
NashornScriptEngineFactory 
public interface ScriptEngineFactoryScriptEngineFactory用于描述和实例化ScriptEngines。
实现ScriptEngine每个类都有一个相应的工厂,它公开描述引擎类的元数据。
ScriptEngineManager使用ServiceLoader类中描述的服务提供程序加载程序机制来获取ScriptEngineFactory实例的实例。 见ScriptEngineManager()和ScriptEngineManager(java.lang.ClassLoader)。- 从以下版本开始:
 - 1.6
 
 
-  
        
       
-  
             
方法摘要
所有方法 实例方法 抽象方法 变量和类型 方法 描述 StringgetEngineName()返回ScriptEngine的全名。StringgetEngineVersion()返回ScriptEngine的版本。List<String>getExtensions()返回文件扩展名的不可变列表,通常标识以此ScriptEngine支持的语言编写的脚本。StringgetLanguageName()返回此ScriptEngine支持的脚本语言的名称。StringgetLanguageVersion()返回此ScriptEngine支持的脚本语言的版本。StringgetMethodCallSyntax(String obj, String m, String... args)返回一个String,该String可用于使用支持的脚本语言的语法调用Java对象的方法。List<String>getMimeTypes()返回mimetypes的不可变列表,与可由引擎执行的脚本相关联。List<String>getNames()返回短名称的不可变列表ScriptEngine,可用于识别ScriptEngine由ScriptEngineManager。StringgetOutputStatement(String toDisplay)返回一个String,该String可用作使用支持的脚本语言的语法显示指定String的语句。ObjectgetParameter(String key)返回其含义可能是特定于实现的属性的值。StringgetProgram(String... statements)返回具有给定语句的有效脚本语言可执行程序。ScriptEnginegetScriptEngine()返回与此ScriptEngineFactory关联的ScriptEngine的实例。 
 -  
             
 
-  
        
       
-  
             
方法详细信息
-  
getEngineName
String getEngineName()
返回ScriptEngine的全名。 例如,基于Mozilla Rhino Javascript引擎的实现可能会返回Rhino Mozilla Javascript引擎 。- 结果
 - 引擎实现的名称。
 
 
-  
getEngineVersion
String getEngineVersion()
返回ScriptEngine的版本。- 结果
 -  
              
ScriptEngine实现版本。 
 
-  
getExtensions
List<String> getExtensions()
返回文件扩展名的不可变列表,通常标识以此ScriptEngine支持的语言编写的脚本。 该阵列由ScriptEngineManager用于实现其getEngineByExtension方法。- 结果
 - 扩展名列表。
 
 
-  
getMimeTypes
List<String> getMimeTypes()
返回mimetypes的不可变列表,与可由引擎执行的脚本相关联。 该列表由ScriptEngineManager类用于实现其getEngineByMimetype方法。- 结果
 - mime类型列表。
 
 
-  
getNames
List<String> getNames()
返回ScriptEngine的不可变短名称列表,可用于标识ScriptEngine的ScriptEngineManager。 例如,基于Mozilla Rhino Javascript引擎的实现可能返回包含{“javascript”,“rhino”}的列表。- 结果
 - 一个不可变的短名单
 
 
-  
getLanguageName
String getLanguageName()
返回此ScriptEngine支持的脚本语言的名称。- 结果
 - 支持的语言的名称。
 
 
-  
getLanguageVersion
String getLanguageVersion()
返回此ScriptEngine支持的脚本语言的版本。- 结果
 - 支持语言的版本。
 
 
-  
getParameter
Object getParameter(String key)
返回其含义可能是特定于实现的属性的值。 在所有实现中定义值的键是:- ScriptEngine.ENGINE
 - ScriptEngine.ENGINE_VERSION
 - ScriptEngine.LANGUAGE
 - ScriptEngine.LANGUAGE_VERSION
 - ScriptEngine.NAME
 
这些键中的值是由返回的字符串
getEngineName,getEngineVersion,getLanguageName,getLanguageVersion用于第一四个键分别。 对于NAME,返回getNames返回的其中一个字符串。
还定义了保留密钥THREADING,其值描述了引擎关于脚本的并发执行和状态维护的行为。THREADING密钥的这些值为:-  
null- 引擎实现不是线程安全的,不能用于在多个线程上并发执行脚本。 -  
"MULTITHREADED"- 引擎实现在内部是线程安全的,并且脚本可以并发执行,尽管脚本执行对一个线程的影响可能对其他线程上的脚本可见。 -  
"THREAD-ISOLATED"- 实现满足“MULTITHREADED”的要求,并且引擎在不同线程上执行的脚本中维护符号的独立值。 -  
"STATELESS"- 该实现满足"THREAD-ISOLATED"的要求。 此外,脚本执行不改变的映射Bindings这是发动机范围ScriptEngine。 特别是,Bindings的键及其关联值在执行脚本之前和之后是相同的。 
实现可以定义特定于实现的密钥。- 参数
 -  
              
key- 参数的名称 - 结果
 -  
              给定参数的值。 
              如果没有为该键分配值,则返回
null。 - 异常
 -  
              
NullPointerException- 如果密钥为空。 
 
-  
getMethodCallSyntax
String getMethodCallSyntax(String obj, String m, String... args)
返回一个String,该String可用于使用支持的脚本语言的语法调用Java对象的方法。 例如,Javascript引擎的实现可能是;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- 表示要调用其方法的对象的名称。 名称是一个用于创建使用绑定put的方法ScriptEngine,所述put一个的方法ENGINE_SCOPEBindings,或setAttribute的方法ScriptContext。 脚本中使用的标识符可以是指定标识符的装饰形式。 -  
              
m- 要调用的方法的名称。 -  
              
args- 方法调用中参数的名称。 - 结果
 - String用于在脚本语言的语法中调用该方法。
 - 异常
 -  
              
NullPointerException- 如果obj或m或args或args的任何元素为null。 
 
-  
getOutputStatement
String getOutputStatement(String toDisplay)
返回一个String,该String可用作使用支持的脚本语言的语法显示指定String的语句。 例如,Perl引擎的实现可能是;public String getOutputStatement(String toDisplay) { return "print(" + toDisplay + ")"; }- 参数
 -  
              
toDisplay- 返回语句显示的字符串。 - 结果
 - 用于在脚本语言的语法中显示String的字符串。
 
 
-  
getProgram
String getProgram(String... statements)
返回具有给定语句的有效脚本语言可执行程序。 例如,PHP引擎的实现可能是: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方法的调用的返回值。 - 结果
 - 该程序
 - 异常
 -  
              
NullPointerException- 如果statements数组或其任何元素为null 
 
-  
getScriptEngine
ScriptEngine getScriptEngine()
返回与此ScriptEngineFactory关联的ScriptEngine的实例。 通常返回一个新的ScriptEngine,但实现可以汇集,共享或重用引擎。- 结果
 - 
               一个新的 
              
ScriptEngine实例。 
 
 -  
 
 -