接口 ScriptEngineFactory
来源:互联网 发布:java开发rest api 编辑:程序博客网 时间:2024/06/06 09:57
javax.script
接口 ScriptEngineFactory
public interface ScriptEngineFactory
ScriptEngineFactory
用来描述和实例化 ScriptEngine
。实现 ScriptEngine
的每个类都有一个相应的工厂,该工厂公开描述引擎类的元数据。ScriptEngineManager
使用Jar 文件规范 中描述的服务提供者机制来获取所有当前 ClassLoader 中可用的 ScriptEngineFactory
实例。
- 从以下版本开始:
- 1.6
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
的实例。getEngineName
String getEngineName()
- 返回
ScriptEngine
的完全名称。例如,基于 Mozilla Rhino Javascript 引擎的实现可以返回Rhino Mozilla Javascript Engine。 - 返回:
- 引擎实现的名称。
getEngineVersion
String getEngineVersion()
- 返回
ScriptEngine
的版本。 - 返回:
ScriptEngine
实现版本。
getExtensions
List<String> getExtensions()
- 返回文件扩展名的不可变列表,这些扩展名通常标识使用此
ScriptEngine
支持的语言所编写的脚本。该数组由ScriptEngineManager
使用,用于实现其getEngineByExtension
方法。 - 返回:
- 扩展名列表。
getMimeTypes
List<String> getMimeTypes()
- 返回 mimetypes 的不可变列表,这些 mimetypes 与可由引擎执行的脚本关联。该列表由
ScriptEngineManager
类使用,用于实现其getEngineByMimetype
方法。 - 返回:
- mime 类型的列表。
getNames
List<String> getNames()
- 返回
ScriptEngine
短名称的不可变列表,这些名称由ScriptEngineManager
用来标识ScriptEngine
。例如,基于 Mozilla Rhino Javascript 引擎的实现可以返回包含 {"javascript", "rhino"} 的列表。
getLanguageName
String getLanguageName()
- 返回此
ScriptEngine
支持的脚本语言的名称。 - 返回:
- 受支持语言的名称。
getLanguageVersion
String getLanguageVersion()
- 返回此
ScriptEngine
支持的脚本语言的版本。 - 返回:
- 受支持语言的版本。
getParameter
Object getParameter(String key)
- 返回属性值,该属性的含义可能是特定于实现的。其值在所有实现中定义的键有:
- ScriptEngine.ENGINE
- ScriptEngine.ENGINE_VERSION
- ScriptEngine.NAME
- ScriptEngine.LANGUAGE
- ScriptEngine.LANGUAGE_VERSION
用于这些键的值分别是
getEngineName
、getEngineVersion
、getName
、getLanguageName
和getLanguageVersion
返回的 String。
还定义了保留键THREADING
,它的值描述了与脚本并发执行和状态维护有关的引擎行为。用于THREADING
键的值有:null
- 引擎实现不是线程安全的,并且无法用来在多个线程上并发执行脚本。"MULTITHREADED"
- 引擎实现是内部线程安全的,并且脚本可以并发执行,尽管在某个线程上执行脚本的效果对于另一个线程上的脚本是可见的。"THREAD-ISOLATED"
- 该实现满足 "MULTITHREADED" 的要求,并且引擎为不同线程上执行的脚本中的符号维护独立的值。"STATELESS"
- 该实现满足"THREAD-ISOLATED"
的要求。此外,脚本执行不改变Bindings
中的映射关系,该 Bindings 是ScriptEngine
的引擎范围。具体来说,Bindings
及其关联值中的键在执行脚本之前和之后是相同的。
实现可以定义特定于实现的键。 - 参数:
key
- 参数名- 返回:
- 给定参数的值。如果没有为键分配值,则返回
null
。
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 += ")";} else {ret += ","; } }return ret; }
- 参数:
obj
- 表示其方法将被调用的对象的名称。该名称是用来使用ScriptEngine
的put
方法、ENGINE_SCOPE
Bindings
的put
方法或者ScriptContext
的setAttribute
方法创建 bindings 的名称。脚本中使用的标识符可以是指定标识符的装饰形式。m
- 要调用的方法的名称。args
- 方法调用中的参数名称。- 返回:
- 用来调用使用脚本语言语法的方法的 String。
getOutputStatement
String getOutputStatement(String toDisplay)
- 返回一个 String,该 String 可用作一个语句来显示使用受支持脚本语言语法的指定 String。例如,Perl 引擎的实现可能是:
public String getOutputStatement(String toDisplay) {return "print(" + toDisplay + ")"; }
- 参数:
toDisplay
- 将由返回的语句显示的 String。- 返回:
- 用来显示使用脚本语言语法的 String 的字符串。
getProgram
String getProgram(String... statements)
- 返回一个包含给定语句的有效脚本语言的可执行程序。例如,PHP 引擎的实现可能是:
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
方法的返回值。- 返回:
- 程序
getScriptEngine
ScriptEngine getScriptEngine()
- 返回与此
ScriptEngineFactory
关联的ScriptEngine
的实例。通常返回一个新的 ScriptEngine,但这些实现可以池化、共享或重用引擎。 - 返回:
- 新的
ScriptEngine
实例。
- 接口 ScriptEngineFactory
- 接口
- 接口
- 接口
- 接口
- 接口
- 接口
- 接口
- 接口
- 接口
- 接口
- 接口
- 接口
- 接口
- 接口
- 接口
- 接口
- 接口
- HDU 1098 Ignatius's puzzle
- tiny6410的纯裸机程序bin文件大于8K,你是怎么下载到Flash运行的。问题已解决
- 接口ScriptContext
- 贪食蛇游戏(java实现)
- 题目8:顺时针打印矩阵
- 接口 ScriptEngineFactory
- tar 解压缩命令
- TMD面试
- 类 ScriptEngineManager
- 关于java控制台获取输入数据
- 类 SimpleScriptContext
- 迷茫
- (2013PPS校园招聘杭州站)PPS研发类笔试题目
- 算法导论-分治、最大子序列问题