|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
| 上一個類別 下一個類別 | 框架 無框架 | |||||||||
| 摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 | |||||||||
java.lang.Objectorg.omg.CORBA.Context
public abstract class Context
用於在 Request 操作中指定上下文物件的物件,上下文字元串在與請求調用一起被發送之前,必須在該指定的上下文物件中進行解析。Context 物件包含 NamedValue 物件形式的屬性列表。這些屬性表示關於客戶端、環境或請求情形的資訊,它們通常是一些可能不方便作為參數傳遞的屬性。
Context 物件是通過先調用 ORB 方法 get_default_context,然後在預設上下文上調用 create_child 來創建的。
Context 物件中的每個屬性都由一個 NamedValue 物件表示。屬性名稱包含在 NamedValue 物件的 name 欄位中,與該名稱關聯的值包含在 Any 物件中,該 Any 已分派給 NamedValue 物件的 value 欄位。
Context 屬性可以表示要傳播到伺服器環境(並使其成為其隱含部分)的部分客戶端環境或應用程序環境。(範例有視窗標識符或使用者首選項資訊)。一旦已經調用伺服器(即傳播屬性之後),伺服器可以使用 get_values 方法查詢其 Context 物件來獲得這些屬性。
當操作宣告中包括上下文子句時,stub 和 skeleton 將有一個為該上下文添加的額外參數。在進行操作調用時,ORB 將在已調用方法的 Context 物件參數中提供使用 IDL 在操作定義中指定的屬性以及客戶端的 Context 物件中存在的屬性。
多個 Context 屬性名稱(字元串)通常是以 OMG IDL 標識符(或一系列以句點分隔的 OMG IDL 標識符)的形式出現的。單個 Context 屬性名稱網要可以是屬性名稱或後跟單個 "*" 的屬性名稱。沒有結尾 "*" 的屬性名稱網要被認為只與它自己比對。"<名稱>*"形式的屬性名稱網要與任何以<名稱>開頭,且後跟零個或多個附加字元的屬性名稱比對。
屬性名稱網要用在操作定義的 Context 子句中,作為 Context.get_values 方法的參數。
Context 物件可能被“連接”在一起,以完成特定預設行為。使用 create_child 方法創建的 Context 物件將與其父物件(創建該物件的 Context 物件)連接在一起,這意味著在搜尋屬性名稱時,搜尋子物件之後將搜尋父物件。
在特定 Context 物件中定義的屬性會在下一個較高層級別有效地覆寫這些屬性。通過指定起始範圍並在調用 get_values 方法時使用標誌 CTX_RESTRICT_SCOPE,可以限定在搜尋屬性時使用的範圍。
可以指定一個 Context 物件來指定起始搜尋範圍。
| 建構子摘要 | |
|---|---|
Context()
|
|
| 方法摘要 | |
|---|---|
abstract String |
context_name()
檢索此 Context 物件的名稱。 |
abstract Context |
create_child(String child_ctx_name)
創建一個 Context 物件,使用給定字元串作為其名稱,並將此 Context 物件設置為其父物件。 |
abstract void |
delete_values(String propname)
從此 Context 物件中刪除 name 欄位與給定屬性名稱比對的 NamedValue 物件。 |
abstract NVList |
get_values(String start_scope,
int op_flags,
String pattern)
檢索 name 欄位與給定名稱或名稱網要比對的 NamedValue 物件。 |
abstract Context |
parent()
檢索此 Context 物件的父物件。 |
abstract void |
set_one_value(String propname,
Any propvalue)
創建一個 NamedValue 物件,並將它添加到此 Context 物件中。 |
abstract void |
set_values(NVList values)
在此 Context 物件中設置一個或多個屬性值。 |
| 從類別 java.lang.Object 繼承的方法 |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| 建構子詳細資訊 |
|---|
public Context()
| 方法詳細資訊 |
|---|
public abstract String context_name()
Context 物件的名稱。
Context 物件的名稱public abstract Context parent()
Context 物件的父物件。
Context 父物件的 Context 物件public abstract Context create_child(String child_ctx_name)
Context 物件,使用給定字元串作為其名稱,並將此 Context 物件設置為其父物件。
將新的 Context 物件連接到其父 Context 物件中。這意味著在搜尋比對屬性名稱時,如果在此上下文中沒有發現比對項,則將繼續在父物件中進行搜尋。如果該搜尋還不成功,則繼續在祖父物件(如果有)中進行搜尋,依此類別推。
child_ctx_name - 將設置為新 Context 物件名稱的 String 物件
Context 物件
public abstract void set_one_value(String propname,
Any propvalue)
NamedValue 物件,並將它添加到此 Context 物件中。將新 NamedValue 物件的 name 欄位設置為給定字元串;將 value 欄位設置為給定 Any 物件;將 flags 欄位設置為 0。
propname - 要設置的屬性名稱propvalue - 用來設置屬性值的 Any 物件。Any 物件的 value 欄位包含將與給定 propname 關聯的值;必須將 kind 欄位設置為 TCKind.tk_string。public abstract void set_values(NVList values)
Context 物件中設置一個或多個屬性值。提供給此方法的 NVList 套件含一個或多個 NamedValue 物件。在每個 NamedValue 物件中,name 欄位用於保存屬性名稱,同時必須將 flags 欄位設置為 0。NamedValue 物件的 value 欄位包含一個 Any 物件,而該物件中又包含屬性的值。因為該值始終是字元串,所以 Any 物件必須將其 TypeCode 的 kind 欄位設置為 TCKind.tk_string。
values - 套件含屬性名稱和要設置的關聯值的 NVListget_values(java.lang.String, int, java.lang.String),
NamedValue,
Anypublic abstract void delete_values(String propname)
Context 物件中刪除 name 欄位與給定屬性名稱比對的 NamedValue 物件。如果為 propname 提供的 String 物件具有結尾通配符 ("*"),則刪除所有 name 欄位與之比對的 NamedValue 物件。始終將搜尋範圍限定為此 Context 物件。
如果未找到比對屬性,則返回異常。
propname - 要刪除的屬性名稱
public abstract NVList get_values(String start_scope,
int op_flags,
String pattern)
name 欄位與給定名稱或名稱網要比對的 NamedValue 物件。此方法允許使用通配符進行搜尋,這意味著可能存在多個比對項,所以可能返回多個值。如果在指示的級別上沒有找到該屬性,則將繼續沿上下文物件階層樹向上搜尋,直到找到一個比對項,或者已經搜尋完連接中所有的 Context 物件。
如果沒有發現比對項,則返回錯誤,不返回任何屬性列表。
start_scope - 指示上下文物件級別的 String 物件,將在該級別上啟動對指定屬性(例如 "_USER"、"_GROUP" 和 "_SYSTEM")的搜尋。有效範圍的名稱是特定於實作的。如果忽略範圍名稱,則從指定上下文物件開始搜尋。如果沒有找到指定範圍名稱,則返回異常。op_flags - 操作標誌。可以指定的一個標誌是 CTX_RESTRICT_SCOPE。如果指定此標誌,則將搜尋限定為指定的 start_scope 或此 Context 物件。pattern - 將檢索其值的屬性名稱。pattern 可以是名稱或結尾帶通配符 ("*") 的名稱。
NVList,它包含所有關聯屬性名稱與給定名稱或名稱網要比對的屬性值(以 NamedValue 物件的形式存在)set_values(org.omg.CORBA.NVList),
NamedValue
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
| 上一個類別 下一個類別 | 框架 無框架 | |||||||||
| 摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 | |||||||||
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。