340 lines
19 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<div class="header">
<div class="subTitle">
org.omg.CORBA
</div>
<h2 class="title" title="Class Context">Class Context</h2>
</div><div class="contentContainer">
<ul class="inheritance">
<li><a href="../../../java/lang/Object.html" title="class in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>org.omg.CORBA.Context</li>
</ul> </li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr/> <br/> <pre>public abstract class <span class="typeNameLabel">Context</span>
extends <a href="../../../java/lang/Object.html" title="class in java.lang">Object</a></pre>
<div class="block">
<span><code>Request</code>操作中使用的对象,用于指定上下文对象,在上下文对象中,上下文字符串必须在与请求调用一起发送之前解决。</span>
<span><code>Context</code>对象包含<code>Context</code>对象形式的<code>NamedValue</code>列表。</span>
<span>这些属性表示有关客户端,环境或请求的情况的信息,通常是可能不方便作为参数传递的属性。</span>
<p> <span>通过首先调用<code>ORB</code>方法<code>get_default_context</code>然后在默认上下文中调用方法<code>create_child</code>创建一个<code>Context</code>对象。</span> </p>
<p> <span><code>Context</code>对象中的每个属性由<code>NamedValue</code>对象表示。</span> <span>属性名称包含在<code>NamedValue</code>对象<code>name</code>场,并与名称关联的值包含在<code>Any</code>这是分配给对象<code>NamedValue</code>对象<code>value</code>场。</span> </p>
<p> <span><code>Context</code>属性可以表示客户端或应用程序的环境的一部分,该部分意图传播到服务器的环境(并使其隐含地部分)。</span> <span>(示例可能是窗口标识符或用户偏好信息)。</span> <span>一旦服务器被调用(即在传播属性之后),服务器可以使用方法<code>get_values</code>查询其<code>Context</code>对象的这些<code>get_values</code></span> </p>
<p> <span>当操作声明包含一个上下文子句时,存根和骨架将为上下文添加一个附加参数。</span> <span>当操作调用发生时ORB会导致在IDL中的操作定义中命名的属性并且客户端的<code>Context</code>对象中存在的属性将在调用方法的<code>Context</code>对象参数中提供。</span> </p>
<p> <span><code>Context</code>属性名称它们是字符串通常具有以句点分隔的OMG IDL标识符或一系列OMG IDL标识符的形式。</span> <span>上下文属性名称模式是属性名称或属性名称,后跟单个“*”。</span> <span>没有尾随“*”的属性名称模式称为仅匹配本身。</span> <span>表单“&lt;name&gt; *”的属性名称模式匹配以&lt;name&gt;开头的任何属性名称,并继续添加零个或多个其他字符。</span> </p>
<p> <span>属性名称模式在操作定义的上下文子句中用作方法<code>Context.get_values</code></span> </p>
<p> <span><code>Context</code>对象可以“链接在一起”以实现特定的默认行为。</span> <span>使用方法<code>create_child</code>创建的<code>Context</code>对象将被链接到其父级(创建它的<code>Context</code>对象),这意味着在搜索属性名称后,该子进程将被搜索。</span> </p>
<p> <span>在特定<code>Context</code>对象中定义的属性有效地覆盖了下一个更高级别的属性。</span> <span>在对性能的搜索中使用的范围可以通过指定起始范围,并通过使用该标志被限制<code>CTX_RESTRICT_SCOPE</code>调用方法时<code>get_values</code></span> </p>
<p> <span>为了指定起始搜索范围,可以命名<code>Context</code>对象。</span> </p>
</div>
<dl>
<dt>
<span class="simpleTagLabel">从以下版本开始:</span>
</dt>
<dd>
JDK1.2
</dd>
</dl> </li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- --> </a> <h3>构造方法摘要</h3>
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Constructor Summary table, listing constructors, and an explanation">
<caption>
<span>构造方法</span>
<span class="tabEnd"> </span>
</caption>
<tbody>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../org/omg/CORBA/Context.html#Context--">Context</a></span>()</code> </td>
</tr>
</tbody>
</table> </li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- --> </a> <h3>方法摘要</h3>
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Method Summary table, listing methods, and an explanation">
<caption>
<span class="activeTableTab" id="t0"><span>所有方法</span><span class="tabEnd"> </span></span>
<span class="tableTab" id="t2"><span><a href="javascript:show(2);">接口方法</a></span><span class="tabEnd"> </span></span>
<span class="tableTab" id="t3"><span><a href="javascript:show(4);">抽象方法</a></span><span class="tabEnd"> </span></span>
</caption>
<tbody>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor" id="i0">
<td class="colFirst"><code>abstract <a href="../../../java/lang/String.html" title="class in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/omg/CORBA/Context.html#context_name--">context_name</a></span>()</code>
<div class="block">
检索此
<code>Context</code>对象的名称。
</div> </td>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><code>abstract <a href="../../../org/omg/CORBA/Context.html" title="class in org.omg.CORBA">Context</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/omg/CORBA/Context.html#create_child-java.lang.String-">create_child</a></span>(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> child_ctx_name)</code>
<div class="block">
创建一个
<code>Context</code>对象,其中给定的字符串作为其名称,并将此
<code>Context</code>对象设置为其父对象。
</div> </td>
</tr>
<tr class="altColor" id="i2">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/omg/CORBA/Context.html#delete_values-java.lang.String-">delete_values</a></span>(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> propname)</code>
<div class="block">
从此
<code>Context</code>对象中删除其
<code>NamedValue</code>对象的
<code>name</code>字段与给定的属性名称相匹配。
</div> </td>
</tr>
<tr class="rowColor" id="i3">
<td class="colFirst"><code>abstract <a href="../../../org/omg/CORBA/NVList.html" title="class in org.omg.CORBA">NVList</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/omg/CORBA/Context.html#get_values-java.lang.String-int-java.lang.String-">get_values</a></span>(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> start_scope, int op_flags, <a href="../../../java/lang/String.html" title="class in java.lang">String</a> pattern)</code>
<div class="block">
检索其
<code>name</code>字段与给定名称或名称模式匹配的
<code>NamedValue</code>对象。
</div> </td>
</tr>
<tr class="altColor" id="i4">
<td class="colFirst"><code>abstract <a href="../../../org/omg/CORBA/Context.html" title="class in org.omg.CORBA">Context</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/omg/CORBA/Context.html#parent--">parent</a></span>()</code>
<div class="block">
检索此
<code>Context</code>对象的父项。
</div> </td>
</tr>
<tr class="rowColor" id="i5">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/omg/CORBA/Context.html#set_one_value-java.lang.String-org.omg.CORBA.Any-">set_one_value</a></span>(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> propname, <a href="../../../org/omg/CORBA/Any.html" title="class in org.omg.CORBA">Any</a> propvalue)</code>
<div class="block">
创建一个
<code>NamedValue</code>对象,并将其添加到此
<code>Context</code>对象。
</div> </td>
</tr>
<tr class="altColor" id="i6">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/omg/CORBA/Context.html#set_values-org.omg.CORBA.NVList-">set_values</a></span>(<a href="../../../org/omg/CORBA/NVList.html" title="class in org.omg.CORBA">NVList</a> values)</code>
<div class="block">
我在此
<code>Context</code>对象中设置一个或多个属性值。
</div> </td>
</tr>
</tbody>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- --> </a> <h3>Methods inherited from class java.lang.<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a></h3> <code><a href="../../../java/lang/Object.html#clone--">clone</a>, <a href="../../../java/lang/Object.html#equals-java.lang.Object-">equals</a>, <a href="../../../java/lang/Object.html#finalize--">finalize</a>, <a href="../../../java/lang/Object.html#getClass--">getClass</a>, <a href="../../../java/lang/Object.html#hashCode--">hashCode</a>, <a href="../../../java/lang/Object.html#notify--">notify</a>, <a href="../../../java/lang/Object.html#notifyAll--">notifyAll</a>, <a href="../../../java/lang/Object.html#toString--">toString</a>, <a href="../../../java/lang/Object.html#wait--">wait</a>, <a href="../../../java/lang/Object.html#wait-long-">wait</a>, <a href="../../../java/lang/Object.html#wait-long-int-">wait</a></code></li>
</ul> </li>
</ul> </li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- --> </a> <h3>构造方法详细信息</h3> <a name="Context--">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>Context</h4> <pre>public Context()</pre> </li>
</ul> </li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- --> </a> <h3>方法详细信息</h3> <a name="context_name--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>context_name</h4> <pre>public abstract <a href="../../../java/lang/String.html" title="class in java.lang">String</a> context_name()</pre>
<div class="block">
检索此
<code>Context</code>对象的名称。
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
这个
<code>Context</code>对象的名字
</dd>
</dl> </li>
</ul> <a name="parent--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>parent</h4> <pre>public abstract <a href="../../../org/omg/CORBA/Context.html" title="class in org.omg.CORBA">Context</a> parent()</pre>
<div class="block">
检索此
<code>Context</code>对象的父项。
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<code>Context</code>对象是该
<code>Context</code>对象的父对象
</dd>
</dl> </li>
</ul> <a name="create_child-java.lang.String-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>create_child</h4> <pre>public abstract <a href="../../../org/omg/CORBA/Context.html" title="class in org.omg.CORBA">Context</a> create_child(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> child_ctx_name)</pre>
<div class="block">
<span>创建一个<code>Context</code>对象,其中给定的字符串作为其名称,并将此<code>Context</code>对象设置为其父对象。</span>
<p> <span>新的<code>Context</code>对象被链接到其父<code>Context</code>对象。</span> <span>这意味着在搜索匹配的属性名称时,如果在此上下文中找不到匹配项,搜索将在父项中继续。</span> <span>如果不成功,搜索会继续在祖父母,如果有的话,依此类推。</span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>child_ctx_name</code> - 要设置的
<code>String</code>对象作为新的
<code>Context</code>对象的名称
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
新创建的
<code>Context</code>对象用指定的名称初始化
</dd>
</dl> </li>
</ul> <a name="set_one_value-java.lang.String-org.omg.CORBA.Any-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>set_one_value</h4> <pre>public abstract void set_one_value(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> propname,
<a href="../../../org/omg/CORBA/Any.html" title="class in org.omg.CORBA">Any</a> propvalue)</pre>
<div class="block">
<span>创建一个<code>NamedValue</code>对象,并将其添加到此<code>Context</code>对象。</span>
<span>新的<code>NamedValue</code>对象的<code>name</code>字段设置为给定的字符串, <code>value</code>字段设置为给定的<code>Any</code>对象,并将<code>flags</code>字段设置为零。</span>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>propname</code> - 要设置的属性的名称
</dd>
<dd>
<span><code>propvalue</code> - 将设置属性值的<code>Any</code>对象。</span>
<span><code>Any</code>对象的<code>value</code>字段包含与给定的propname相关联的值;</span>
<span><code>kind</code>字段必须设置为<code>TCKind.tk_string</code></span>
</dd>
</dl> </li>
</ul> <a name="set_values-org.omg.CORBA.NVList-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>set_values</h4> <pre>public abstract void set_values(<a href="../../../org/omg/CORBA/NVList.html" title="class in org.omg.CORBA">NVList</a> values)</pre>
<div class="block">
<span>我在此<code>Context</code>对象中设置一个或多个属性值。</span>
<span>提供给此方法的<code>NVList</code>包含一个或多个<code>NamedValue</code>对象。</span>
<span>在每个<code>NamedValue</code>对象中, <code>name</code>字段保存该属性的名称,并且<code>flags</code>字段必须设置为零。</span>
<span><code>NamedValue</code>对象的<code>value</code>字段包含一个<code>Any</code>对象,而该对象又包含该属性的值。</span>
<span>由于该值始终是一个字符串,则<code>Any</code>对象必须具有<code>kind</code>其领域<code>TypeCode</code>设置为<code>TCKind.tk_string</code></span>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>values</code> - 包含要设置的属性名称和关联值的NVList
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<span><a href="../../../org/omg/CORBA/Context.html#get_values-java.lang.String-int-java.lang.String-"><code>get_values(java.lang.String, int, java.lang.String)</code></a> <a href="../../../org/omg/CORBA/NamedValue.html" title="在org.omg.CORBA中的类"><code>NamedValue</code></a> <a href="../../../org/omg/CORBA/Any.html" title="在org.omg.CORBA中的类"><code>Any</code></a></span>
</dd>
</dl> </li>
</ul> <a name="delete_values-java.lang.String-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>delete_values</h4> <pre>public abstract void delete_values(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> propname)</pre>
<div class="block">
<span>从此<code>Context</code>中删除对象,其<code>NamedValue</code>对象的<code>name</code>字段与给定的属性名称匹配。</span>
<span>如果<code>String</code>为供给对象<code>propname</code>具有后通配符(“*”),则所有<code>NamedValue</code>对象其<code>name</code>字段匹配将被删除。</span>
<span>搜索范围始终限于此<code>Context</code>对象。</span>
<p> <span>如果没有找到匹配的属性,则返回异常。</span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>propname</code> - 要删除的属性的名称
</dd>
</dl> </li>
</ul> <a name="get_values-java.lang.String-int-java.lang.String-">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>get_values</h4> <pre>public abstract <a href="../../../org/omg/CORBA/NVList.html" title="class in org.omg.CORBA">NVList</a> get_values(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> start_scope,
int op_flags,
<a href="../../../java/lang/String.html" title="class in java.lang">String</a> pattern)</pre>
<div class="block">
<span>检索其<code>name</code>字段与给定名称或名称模式匹配的<code>NamedValue</code>对象。</span>
<span>该方法允许通配符搜索,这意味着可以有多个匹配,因此返回多个值。</span>
<span>如果在指定级别找不到属性,搜索将继续上下文对象树,直到找到匹配或链中的所有<code>Context</code>对象已用尽。</span>
<p> <span>如果没有找到匹配项,返回错误,不返回属性列表。</span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<span><code>start_scope</code> - 一个<code>String</code>对象,指示启动搜索<code>String</code>属性的上下文对象级别例如“_USER”“_GROUP”“_SYSTEM”</span>
<span>有效范围名称是实现特定的。</span>
<span>如果省略范围名称,则搜索从指定的上下文对象开始。</span>
<span>如果未找到指定的范围名称,则返回异常。</span>
</dd>
<dd>
<span><code>op_flags</code> - 操作标志。</span>
<span>可以指定的一个标志是<code>CTX_RESTRICT_SCOPE</code></span>
<span>如果指定了此标志,则搜索仅限于指定的<code>start_scope</code>或该<code>Context</code>对象。</span>
</dd>
<dd>
<span><code>pattern</code> - 要检索其值的属性名称。</span>
<span><code>pattern</code>可以是具有尾随通配符(“*”)的名称或名称。</span>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
一个
<code>NVList</code>包含所有属性值(以
<code>NamedValue</code>对象的形式),其相关联的属性名称与给定的名称或名称模式相匹配
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<span><a href="../../../org/omg/CORBA/Context.html#set_values-org.omg.CORBA.NVList-"><code>set_values(org.omg.CORBA.NVList)</code></a> <a href="../../../org/omg/CORBA/NamedValue.html" title="在org.omg.CORBA中的类"><code>NamedValue</code></a></span>
</dd>
</dl> </li>
</ul> </li>
</ul> </li>
</ul>
</div>
</div>