|
JavaTM 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 Platform Standard Ed. 6 |
|||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。