|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
public interface ScriptEngine
ScriptEngine
是基礎介面,該介面的方法在此規範的每個實作中都必須具有完整的功能。
這些方法提供基本的文稿功能。為這個簡單介面編寫的應用程序應該對每個實作稍做修改就能夠運行。這包括執行文稿的方法,以及設置和獲取值的方法。
這些值是兩種型別的鍵/值對。組成第一種型別的鍵/值對中的鍵是此規範或個別實作中保留和定義的鍵。包含保留鍵的鍵/值對中的值具有指定的含義。
另一種型別由那些創建 Java 語言 Bindings 的鍵/值對組成,值通常通過相應鍵或其裝飾的形式用文稿表示。
欄位摘要 | |
---|---|
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 被用於文稿執行。 |
欄位詳細資訊 |
---|
static final String ARGV
static final String FILENAME
static final String ENGINE
ScriptEngine
實作的名稱。
static final String ENGINE_VERSION
ScriptEngine
實作的版本。
static final String NAME
ScriptEngineManager
使用該名稱尋找具有 getEngineByName
方法中的給定名稱的 ScriptEngine
。
static final String LANGUAGE
static final String LANGUAGE_VERSION
方法詳細資訊 |
---|
Object eval(String script, ScriptContext context) throws ScriptException
script
- 將由文稿引擎執行的文稿。context
- 公開不同範圍中的屬性集的 ScriptContext
。規範中定義了範圍 ScriptContext.GLOBAL_SCOPE
和 ScriptContext.ENGINE_SCOPE
的含義。ScriptContext
的 ENGINE_SCOPE
Bindings
套件含將在此文稿執行期間使用的應用程序物件文稿變數的 bindings。
ScriptException
- 如果文稿發生錯誤。對於底層文稿實作拋出的經過檢查的 Exception,ScriptEngine 應該創建並拋出 ScriptException
套件裝器。
NullPointerException
- 如果任一參數為 null。Object eval(Reader reader, ScriptContext context) throws ScriptException
eval(String, ScriptContext)
相同,其中文稿的源是從 Reader
讀取的。
reader
- 將由文稿引擎執行的文稿的源。context
- 傳遞給文稿引擎的 ScriptContext
。
ScriptException
- 如果文稿發生錯誤。
NullPointerException
- 如果任一參數為 null。Object eval(String script) throws ScriptException
ScriptEngine
的預設 ScriptContext
。
script
- 要執行的文稿語言源。
ScriptException
- 如果文稿發生錯誤。
NullPointerException
- 如果參數為 null。Object eval(Reader reader) throws ScriptException
Reader
形式提供的外,與 eval(String)
相同。
reader
- 文稿的源。
ScriptException
- 如果文稿發生錯誤。
NullPointerException
- 如果參數為 null。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。Object eval(Reader reader, Bindings n) throws ScriptException
Reader
形式提供的外,與 eval(String, Bindings)
相同。
reader
- 文稿的源。n
- 屬性的 Bindings
。
ScriptException
- 如果發生錯誤。
NullPointerException
- 如果任一參數為 null。void put(String key, Object value)
getBindings(ScriptContext.ENGINE_SCOPE).put
具有相同的效果。
key
- 要添加的指定值的名稱value
- 要添加的指定值的值。
NullPointerException
- 如果 key 為 null。
IllegalArgumentException
- 如果 key 為空。Object get(String key)
setValue
設置的值,也可能是 ScriptEngine
狀態中的某個其他值,具體取決於實作。必須與 getBindings(ScriptContext.ENGINE_SCOPE).get
具有相同的效果。
key
- 將返回其值的鍵
NullPointerException
- 如果 key 為 null。
IllegalArgumentException
- 如果 key 為空。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
- 如果指定範圍無效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
Bindings createBindings()
Bindings
。
ScriptEngine
狀態的 Bindings
。ScriptContext getContext()
ScriptEngine
的預設 ScriptContext
,在沒有指定 ScriptContext
時,該 ScriptEngine 的 Bindings、Reader 和 Writer 被用於文稿執行。
ScriptEngine
的預設 ScriptContext
。void setContext(ScriptContext context)
ScriptEngine
的預設 ScriptContext
,在沒有指定 ScriptContext
時,該 ScriptEngine 的 Bindings、Reader 和 Writer 被用於文稿執行。
context
- 將替代 ScriptEngine
中預設 ScriptContext
的 ScriptContext
。
NullPointerException
- 如果 context 為 null。ScriptEngineFactory getFactory()
ScriptEngine
所屬的類別的 ScriptEngineFactory
。
ScriptEngineFactory
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。