public abstract class Context extends Object
Request操作中使用的对象,用于指定上下文对象,在上下文对象中,上下文字符串必须在与请求调用一起发送之前解决。 
       Context对象包含Context对象形式的NamedValue列表。 
       这些属性表示有关客户端,环境或请求的情况的信息,通常是可能不方便作为参数传递的属性。 
        通过首先调用ORB方法get_default_context然后在默认上下文中调用方法create_child创建一个Context对象。 
 Context对象中的每个属性由NamedValue对象表示。 属性名称包含在NamedValue对象name场,并与名称关联的值包含在Any这是分配给对象NamedValue对象value场。 
 Context属性可以表示客户端或应用程序的环境的一部分,该部分意图传播到服务器的环境(并使其隐含地部分)。 (示例可能是窗口标识符或用户偏好信息)。 一旦服务器被调用(即在传播属性之后),服务器可以使用方法get_values查询其Context对象的这些get_values 。 
 当操作声明包含一个上下文子句时,存根和骨架将为上下文添加一个附加参数。 当操作调用发生时,ORB会导致在IDL中的操作定义中命名的属性,并且客户端的Context对象中存在的属性将在调用方法的Context对象参数中提供。 
 Context属性名称(它们是字符串)通常具有以句点分隔的OMG IDL标识符或一系列OMG IDL标识符的形式。 上下文属性名称模式是属性名称或属性名称,后跟单个“*”。 没有尾随“*”的属性名称模式称为仅匹配本身。 表单“<name> *”的属性名称模式匹配以<name>开头的任何属性名称,并继续添加零个或多个其他字符。 
 属性名称模式在操作定义的上下文子句中用作方法Context.get_values 。 
 Context对象可以“链接在一起”以实现特定的默认行为。 使用方法create_child创建的Context对象将被链接到其父级(创建它的Context对象),这意味着在搜索属性名称后,该子进程将被搜索。 
 在特定Context对象中定义的属性有效地覆盖了下一个更高级别的属性。 在对性能的搜索中使用的范围可以通过指定起始范围,并通过使用该标志被限制CTX_RESTRICT_SCOPE调用方法时get_values 。 
 为了指定起始搜索范围,可以命名Context对象。 
| Constructor and Description | 
|---|
| Context() | 
| Modifier and Type | Method and Description | 
|---|---|
| abstract String | context_name()
              检索此 
              Context对象的名称。 | 
| abstract Context | create_child(String child_ctx_name)
              创建一个 
              Context对象,其中给定的字符串作为其名称,并将此Context对象设置为其父对象。 | 
| abstract void | delete_values(String propname)
              从此 
              Context对象中删除其NamedValue对象的name字段与给定的属性名称相匹配。 | 
| 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对象中设置一个或多个属性值。 | 
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 - 要设置的 
            String对象作为新的 
            Context对象的名称 
           Context对象用指定的名称初始化 
           public abstract void set_one_value(String propname, Any propvalue)
NamedValue对象,并将其添加到此Context对象。 
           新的NamedValue对象的name字段设置为给定的字符串, value字段设置为给定的Any对象,并将flags字段设置为零。 
          propname - 要设置的属性的名称 
           propvalue - 将设置属性值的Any对象。 
            Any对象的value字段包含与给定的propname相关联的值; 
            kind字段必须设置为TCKind.tk_string 。 
           public abstract void set_values(NVList values)
Context对象中设置一个或多个属性值。 
           提供给此方法的NVList包含一个或多个NamedValue对象。 
           在每个NamedValue对象中, name字段保存该属性的名称,并且flags字段必须设置为零。 
           NamedValue对象的value字段包含一个Any对象,而该对象又包含该属性的值。 
           由于该值始终是一个字符串,则Any对象必须具有kind其领域TypeCode设置为TCKind.tk_string 。 
          values - 包含要设置的属性名称和关联值的NVList 
           get_values(java.lang.String, int, java.lang.String) , NamedValue , Any 
           public abstract void delete_values(String propname)
Context中删除对象,其NamedValue对象的name字段与给定的属性名称匹配。 
           如果String为供给对象propname具有后通配符(“*”),则所有NamedValue对象其name字段匹配将被删除。 
           搜索范围始终限于此Context对象。 
           如果没有找到匹配的属性,则返回异常。
propname - 要删除的属性的名称 
           public abstract NVList get_values(String start_scope, int op_flags, String pattern)
name字段与给定名称或名称模式匹配的NamedValue对象。 
           该方法允许通配符搜索,这意味着可以有多个匹配,因此返回多个值。 
           如果在指定级别找不到属性,搜索将继续上下文对象树,直到找到匹配或链中的所有Context对象已用尽。 
           如果没有找到匹配项,返回错误,不返回属性列表。
start_scope - 一个String对象,指示启动搜索String属性的上下文对象级别(例如“_USER”,“_GROUP”,“_SYSTEM”)。 
            有效范围名称是实现特定的。 
            如果省略范围名称,则搜索从指定的上下文对象开始。 
            如果未找到指定的范围名称,则返回异常。 
           op_flags - 操作标志。 
            可以指定的一个标志是CTX_RESTRICT_SCOPE 。 
            如果指定了此标志,则搜索仅限于指定的start_scope或该Context对象。 
           pattern - 要检索其值的属性名称。 
            pattern可以是具有尾随通配符(“*”)的名称或名称。 
           NVList包含所有属性值(以 
            NamedValue对象的形式),其相关联的属性名称与给定的名称或名称模式相匹配 
           set_values(org.omg.CORBA.NVList) , NamedValue 
            Submit a bug or feature 
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
 Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.