接口ScriptEngine
来源:互联网 发布:电脑怎么优化系统 编辑:程序博客网 时间:2024/06/05 03:40
javax.script
接口 ScriptEngine
- 所有已知实现类:
- AbstractScriptEngine
public interface ScriptEngine
ScriptEngine
是基础接口,该接口的方法在此规范的每个实现中都必须具有完整的功能。这些方法提供基本的脚本功能。为这个简单接口编写的应用程序应该对每个实现稍做修改就能够运行。这包括执行脚本的方法,以及设置和获取值的方法。这些值是两种类型的键/值对。组成第一种类型的键/值对中的键是此规范或个别实现中保留和定义的键。包含保留键的键/值对中的值具有指定的含义。另一种类型由那些创建 Java 语言 Bindings 的键/值对组成,值通常通过相应键或其装饰的形式用脚本表示。
- 从以下版本开始:
- 1.6
static String
ARGV
指定值的保留键,它将一个位置参数数组传递给某一脚本。static String
ENGINE
指定值的保留键,它是 ScriptEngine
实现的名称。static String
ENGINE_VERSION
指定值的保留键,它标识 ScriptEngine
实现的版本。static String
FILENAME
指定值的保留键,它是将被执行的文件的名称。static String
LANGUAGE
指定值的保留键,它是受实现支持的 Scripting Language 的完全名称。static String
LANGUAGE_VERSION
指定值的保留键,它标识受实现支持的脚本语言的版本。static String
NAME
指定值的保留键,它标识脚本语言的短名称。Bindings
createBindings()
返回一个未初始化的 Bindings
。Object
eval(Reader reader)
除了脚本的源是以Reader
形式提供的外,与eval(String)
相同。Object
eval(Reader reader,Bindings n)
除了脚本的源是以Reader
形式提供的外,与eval(String, Bindings)
相同。Object
eval(Reader reader,ScriptContext context)
与eval(String, ScriptContext)
相同,其中脚本的源是从Reader
读取的。Object
eval(String script)
执行指定的脚本。Object
eval(String script,Bindings n)
执行脚本,脚本执行期间使用Bindings
参数作为ScriptEngine
的 ENGINE_SCOPE
Bindings
。Object
eval(String script,ScriptContext context)
立即执行脚本,该脚本的源是作为第一个参数传递的 String。Object
get(String key)
获取在此引擎的状态中设置的值。Bindings
getBindings(int scope)
返回指定值的范围。ScriptContext
getContext()
返回 ScriptEngine
的默认ScriptContext
,在没有指定ScriptContext
时,该 ScriptEngine 的 Bindings、Reader 和 Writer 被用于脚本执行。ScriptEngineFactory
getFactory()
返回此 ScriptEngine
所属的类的ScriptEngineFactory
。void
put(String key,Object value)
设置 ScriptEngine 的状态中的键/值对,它创建一个将在脚本执行中使用或者以其他方式使用的 Java Language Binding,具体取决于该键是否被保留。void
setBindings(Bindings bindings, int scope)
设置将由脚本使用的指定值的范围。void
setContext(ScriptContext context)
设置ScriptEngine
的默认ScriptContext
,在没有指定 ScriptContext
时,该 ScriptEngine 的 Bindings、Reader 和 Writer 被用于脚本执行。ARGV
static final String ARGV
- 指定值的保留键,它将一个位置参数数组传递给某一脚本。
- 另请参见:
- 常量字段值
FILENAME
static final String FILENAME
- 指定值的保留键,它是将被执行的文件的名称。
- 另请参见:
- 常量字段值
ENGINE
static final String ENGINE
- 指定值的保留键,它是
ScriptEngine
实现的名称。- 另请参见:
- 常量字段值
ENGINE_VERSION
static final String ENGINE_VERSION
- 指定值的保留键,它标识
ScriptEngine
实现的版本。- 另请参见:
- 常量字段值
NAME
static final String NAME
- 指定值的保留键,它标识脚本语言的短名称。
ScriptEngineManager
使用该名称查找具有getEngineByName
方法中的给定名称的ScriptEngine
。- 另请参见:
- 常量字段值
LANGUAGE
static final String LANGUAGE
- 指定值的保留键,它是受实现支持的 Scripting Language 的完全名称。
- 另请参见:
- 常量字段值
LANGUAGE_VERSION
static final String LANGUAGE_VERSION
- 指定值的保留键,它标识受实现支持的脚本语言的版本。
- 另请参见:
- 常量字段值
eval
Object eval(String script, ScriptContext context) throws ScriptException
- 立即执行脚本,该脚本的源是作为第一个参数传递的 String。脚本在执行之前,可以重新解析或重新编译。以前的执行在引擎中遗留的状态(包括变量值和已编译的程序)在这次执行中是可见的。
- 参数:
script
- 将由脚本引擎执行的脚本。context
- 公开不同范围中的属性集的ScriptContext
。规范中定义了范围ScriptContext.GLOBAL_SCOPE
和ScriptContext.ENGINE_SCOPE
的含义。ScriptContext
的ENGINE_SCOPE
Bindings
包含将在此脚本执行期间使用的应用程序对象脚本变量的 bindings。- 返回:
- 执行脚本所返回的值。
- 抛出:
ScriptException
- 如果脚本发生错误。对于底层脚本实现抛出的经过检查的 Exception,ScriptEngine 应该创建并抛出ScriptException
包装器。NullPointerException
- 如果任一参数为 null。
eval
Object eval(Reader reader, ScriptContext context) throws ScriptException
- 与
eval(String, ScriptContext)
相同,其中脚本的源是从Reader
读取的。 - 参数:
reader
- 将由脚本引擎执行的脚本的源。context
- 传递给脚本引擎的ScriptContext
。- 返回:
- 执行脚本所返回的值。
- 抛出:
ScriptException
- 如果脚本发生错误。NullPointerException
- 如果任一参数为 null。
eval
Object eval(String script) throws ScriptException
- 执行指定的脚本。使用
ScriptEngine
的默认ScriptContext
。 - 参数:
script
- 要执行的脚本语言源。- 返回:
- 执行脚本所返回的值。
- 抛出:
ScriptException
- 如果脚本发生错误。NullPointerException
- 如果参数为 null。
eval
Object eval(Reader reader) throws ScriptException
- 除了脚本的源是以
Reader
形式提供的外,与eval(String)
相同。 - 参数:
reader
- 脚本的源。- 返回:
- 脚本返回的值。
- 抛出:
ScriptException
- 如果脚本发生错误。NullPointerException
- 如果参数为 null。
eval
Object eval(String script, Bindings n) throws ScriptException
- 执行脚本,脚本执行期间使用
Bindings
参数作为ScriptEngine
的ENGINE_SCOPE
Bindings
。使用默认ScriptContext
的Reader
、Writer
和非ENGINE_SCOPE
Bindings
。ScriptEngine
的ENGINE_SCOPE
Bindings
不变,其映射关系不随脚本执行发生改变。 - 参数:
script
- 脚本的源。n
- 将用于脚本执行的属性的Bindings
。- 返回:
- 脚本返回的值。
- 抛出:
ScriptException
- 如果脚本发生错误。NullPointerException
- 如果任一参数为 null。
eval
Object eval(Reader reader, Bindings n) throws ScriptException
- 除了脚本的源是以
Reader
形式提供的外,与eval(String, Bindings)
相同。 - 参数:
reader
- 脚本的源。n
- 属性的Bindings
。- 返回:
- 脚本返回的值。
- 抛出:
ScriptException
- 如果发生错误。NullPointerException
- 如果任一参数为 null。
put
void put(String key, Object value)
- 设置 ScriptEngine 的状态中的键/值对,它创建一个将在脚本执行中使用或者以其他方式使用的 Java Language Binding,具体取决于该键是否被保留。必须与
getBindings(ScriptContext.ENGINE_SCOPE).put
具有相同的效果。 - 参数:
key
- 要添加的指定值的名称value
- 要添加的指定值的值。- 抛出:
NullPointerException
- 如果 key 为 null。IllegalArgumentException
- 如果 key 为空。
get
Object get(String key)
- 获取在此引擎的状态中设置的值。该值可能是使用
setValue
设置的值,也可能是ScriptEngine
状态中的某个其他值,具体取决于实现。必须与getBindings(ScriptContext.ENGINE_SCOPE).get
具有相同的效果。 - 参数:
key
- 将返回其值的键- 返回:
- 给定键的值
- 抛出:
NullPointerException
- 如果 key 为 null。IllegalArgumentException
- 如果 key 为空。
getBindings
Bindings getBindings(int scope)
- 返回指定值的范围。可能的范围有:
ScriptContext.GLOBAL_SCOPE
- 表示全局范围的指定值的集合。如果此ScriptEngine
是通过ScriptEngineManager
创建的,则该管理器将设置全局范围 bindings。如果没有与此ScriptEngine
关联的全局范围,则此范围可能为null
ScriptContext.ENGINE_SCOPE
- 表示此ScriptEngine
的状态的指定值的集合。在使用关联键作为变量名称的脚本中,这些值通常是可见的。ScriptEngine
的默认ScriptContext
中定义的其他范围值。
返回的Bindings
实例必须与对ScriptEngine
的默认ScriptContext
调用ScriptContext
的getBindings
方法(使用相应参数)所返回的实例一样。 - 参数:
scope
-ScriptContext.ENGINE_SCOPE
或ScriptContext.GLOBAL_SCOPE
,指定要返回的Bindings
。ScriptContext
的实现可以定义其他范围。如果ScriptEngine
的默认ScriptContext
定义了其他范围,则这些范围都可以传递给该参数,以获取相应的Bindings
。- 返回:
- 指定范围的
Bindings
。 - 抛出:
IllegalArgumentException
- 如果指定范围无效
setBindings
void setBindings(Bindings bindings, int scope)
- 设置将由脚本使用的指定值的范围。可能的范围有:
ScriptContext.ENGINE_SCOPE
- 指定的Bindings
将替代ScriptEngine
的引擎范围。ScriptContext.GLOBAL_SCOPE
- 指定的Bindings
必须作为GLOBAL_SCOPE
可见。ScriptEngine
的默认ScriptContext
中定义的其他范围值。
该方法必须与对ScriptEngine
的默认ScriptContext
调用ScriptContext
的setBindings
方法(使用scope
的相应值)的效果相同。 - 参数:
bindings
- 指定范围的Bindings
。scope
- 指定的范围。ScriptContext.ENGINE_SCOPE
、ScriptContext.GLOBAL_SCOPE
或者其他有效范围值。- 抛出:
IllegalArgumentException
- 如果 scope 有效NullPointerException
- 如果 bindings 为 null 并且 scope 为ScriptContext.ENGINE_SCOPE
createBindings
Bindings createBindings()
- 返回一个未初始化的
Bindings
。 - 返回:
- 用来替代此
ScriptEngine
状态的Bindings
。
getContext
ScriptContext getContext()
- 返回
ScriptEngine
的默认ScriptContext
,在没有指定ScriptContext
时,该 ScriptEngine 的 Bindings、Reader 和 Writer 被用于脚本执行。 - 返回:
ScriptEngine
的默认ScriptContext
。
setContext
void setContext(ScriptContext context)
- 设置
ScriptEngine
的默认ScriptContext
,在没有指定ScriptContext
时,该 ScriptEngine 的 Bindings、Reader 和 Writer 被用于脚本执行。 - 参数:
context
- 将替代ScriptEngine
中默认ScriptContext
的ScriptContext
。- 抛出:
NullPointerException
- 如果 context 为 null。
getFactory
ScriptEngineFactory getFactory()
- 返回此
ScriptEngine
所属的类的ScriptEngineFactory
。 - 返回:
ScriptEngineFactory
概述软件包类使用树已过时索引帮助JavaTM 2 Platform
Standard Ed. 6上一个类下一个类框架无框架摘要: 嵌套 | 字段 | 构造方法 | 方法详细信息: 字段 | 构造方法 |方法
提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java 2 SDK SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。
版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。
- 接口ScriptEngine
- ScriptEngine
- ScriptEngine
- java ScriptEngine;
- scriptEngine使用
- 初试ScriptEngine
- Jurassic.ScriptEngine 简易示例
- ScriptEngine的学习使用
- Java ScriptEngine 解析js
- ScriptEngine执行javascript片段
- Java ScriptEngine解析脚本学习
- Java用ScriptEngine解析脚本
- JAVA使用ScriptEngine 解析脚本
- Java用ScriptEngine解析脚本
- 在Java中使用ScriptEngine调用javascript
- ScriptEngine使用java调用js代码
- java执行字符串数学表达式 ScriptEngine
- Java中使用ScriptEngine(javax.script)
- nsfocus笔试题
- 图片文件
- php 用fsocket模拟浏览器POST GET
- android之拨打电话时在电话号码前加17951
- hdu 2243 poj 2778 AC自动机 + 经典矩阵乘法
- 接口ScriptEngine
- lucene 笔记;
- 队列的知识
- 来自大爱的IBM:Java 语言中的 volatile 变量
- 简单融合双系统 苹果虚拟Win8实用技巧
- 实验室设备管理系统(C语言实现)
- 浏览器兼容问题
- ADS1.2的简单使用
- 指针的一些注意事项