|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object org.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
,
Any
public 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。