JavaTM 2 Platform
Standard Ed. 6

javax.script
介面 ScriptContext

所有已知實作類別:
SimpleScriptContext

public interface ScriptContext

該介面的實作類別被用來連接 Script Engines 和宿主應用程序中的物件(如有範圍的 Bindings)。每個範圍都是一個指定屬性集,這些屬性的值可以使用 ScriptContext 方法設置和獲取。ScriptContext 還公開可由 ScriptEngine 用於輸入和輸出的 Reader 和 Writer。

從以下版本開始:
1.6

欄位摘要
static int ENGINE_SCOPE
          EngineScope 屬性在單個 ScriptEngine 的生存期是可見的,並為每個引擎維護一個屬性集。
static int GLOBAL_SCOPE
          GlobalScope 屬性對於同一 ScriptEngineFactory 創建的所有引擎都是可見的。
 
方法摘要
 Object getAttribute(String name)
          獲取範圍中按搜尋順序最早出現的具有給定名稱的屬性的值。
 Object getAttribute(String name, int scope)
          獲取給定範圍中某一屬性的值。
 int getAttributesScope(String name)
          獲取定義了某個屬性的最小範圍。
 Bindings getBindings(int scope)
          獲取與此 ScriptContext 中的給定範圍關聯的 Bindings
 Writer getErrorWriter()
          返回用來顯示錯誤輸出的 Writer
 Reader getReader()
          返回文稿用來讀取輸入的 Reader
 List<Integer> getScopes()
          返回 ScriptContext 中所有有效範圍值的不可變 List
 Writer getWriter()
          返回文稿的 Writer,以便在顯示輸出時使用。
 Object removeAttribute(String name, int scope)
          移除給定範圍中的某一屬性。
 void setAttribute(String name, Object value, int scope)
          設置給定範圍中某一屬性的值。
 void setBindings(Bindings bindings, int scope)
          將 Bindings 實例與此 ScriptContext 中的特定範圍關聯。
 void setErrorWriter(Writer writer)
          設置用來顯示錯誤輸出的 Writer
 void setReader(Reader reader)
          設置文稿的 Reader,以讀取輸入。
 void setWriter(Writer writer)
          設置文稿的 Writer,以便在顯示輸出時使用。
 

欄位詳細資訊

ENGINE_SCOPE

static final int ENGINE_SCOPE
EngineScope 屬性在單個 ScriptEngine 的生存期是可見的,並為每個引擎維護一個屬性集。

另請參見:
常數欄位值

GLOBAL_SCOPE

static final int GLOBAL_SCOPE
GlobalScope 屬性對於同一 ScriptEngineFactory 創建的所有引擎都是可見的。

另請參見:
常數欄位值
方法詳細資訊

setBindings

void setBindings(Bindings bindings,
                 int scope)
Bindings 實例與此 ScriptContext 中的特定範圍關聯。getAttributesetAttribute 方法的調用必須映射到指定範圍的 Bindingsgetput 方法。

參數:
bindings - 與給定範圍關聯的 Bindings
scope - 範圍
拋出:
IllegalArgumentException - 如果沒有為此型別 ScriptContext 中的指定範圍值定義 Bindings
NullPointerException - 如果 scope 的值為 ENGINE_SCOPE 並且指定的 Bindings 為 null。

getBindings

Bindings getBindings(int scope)
獲取與此 ScriptContext 中的給定範圍關聯的 Bindings

返回:
關聯的 Bindings。如果尚未設置,則返回 null
拋出:
IllegalArgumentException - 如果沒有為此型別的 ScriptContext 中的指定範圍值定義 Bindings

setAttribute

void setAttribute(String name,
                  Object value,
                  int scope)
設置給定範圍中某一屬性的值。

參數:
name - 要設置的屬性的名稱
value - 屬性值
scope - 屬性的設置範圍
拋出:
IllegalArgumentException - 如果 name 為空,或者 scope 無效。
NullPointerException - 如果 name 為 null。

getAttribute

Object getAttribute(String name,
                    int scope)
獲取給定範圍中某一屬性的值。

參數:
name - 要獲取的屬性名稱。
scope - 將在其中獲取屬性的範圍。
返回:
屬性值。返回 null 表示 name 不存在於給定範圍中。
拋出:
IllegalArgumentException - 如果 name 為空,或者 scope 的值無效。
NullPointerException - 如果 name 為 null。

removeAttribute

Object removeAttribute(String name,
                       int scope)
移除給定範圍中的某一屬性。

參數:
name - 要移除的屬性的名稱
scope - 移除屬性的範圍
返回:
移除的值。
拋出:
IllegalArgumentException - 如果 name 為空,或者 scope 無效。
NullPointerException - 如果 name 為 null。

getAttribute

Object getAttribute(String name)
獲取範圍中按搜尋順序最早出現的具有給定名稱的屬性的值。搜尋順序由範圍參數的數值確定(從最小的範圍值開始)。

參數:
name - 要獲取的屬性的名稱。
返回:
具有給定名稱的屬性的值,該屬性位於定義它的最小範圍中。如果任何範圍中都不存在具有該名稱的屬性,則返回 null。
拋出:
NullPointerException - 如果 name 為 null。
IllegalArgumentException - 如果 name 為空。

getAttributesScope

int getAttributesScope(String name)
獲取定義了某個屬性的最小範圍。

參數:
name - 屬性的名稱。
返回:
最小範圍。如果在任何範圍內都沒有定義具有給定名稱的屬性,則返回 -1。
拋出:
NullPointerException - 如果 name 為 null。
IllegalArgumentException - 如果 name 為空。

getWriter

Writer getWriter()
返回文稿的 Writer,以便在顯示輸出時使用。

返回:
Writer

getErrorWriter

Writer getErrorWriter()
返回用來顯示錯誤輸出的 Writer

返回:
Writer

setWriter

void setWriter(Writer writer)
設置文稿的 Writer,以便在顯示輸出時使用。

參數:
writer - 新的 Writer

setErrorWriter

void setErrorWriter(Writer writer)
設置用來顯示錯誤輸出的 Writer

參數:
writer - Writer

getReader

Reader getReader()
返回文稿用來讀取輸入的 Reader

返回:
Reader

setReader

void setReader(Reader reader)
設置文稿的 Reader,以讀取輸入。

參數:
reader - 新的 Reader

getScopes

List<Integer> getScopes()
返回 ScriptContext 中所有有效範圍值的不可變 List

返回:
範圍值列表

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only