68 lines
14 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.DynamicAny
</div>
<h2 class="title" title="Interface DynAny">Interface DynAny</h2>
</div><div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>
All Superinterfaces:
</dt>
<dd>
<span><a href="../../../org/omg/DynamicAny/DynAnyOperations.html" title="界面在org.omg.DynamicAny中">DynAnyOperations</a> <a href="../../../org/omg/CORBA/portable/IDLEntity.html" title="界面在org.omg.CORBA.portable中">IDLEntity</a> <a href="../../../org/omg/CORBA/Object.html" title="在org.omg.CORBA中的接口">Object</a> <a href="../../../java/io/Serializable.html" title="java.io中的接口">Serializable</a></span>
</dd>
</dl>
<dl>
<dt>
All Known Subinterfaces:
</dt>
<dd>
<span><a href="../../../org/omg/DynamicAny/DynArray.html" title="界面在org.omg.DynamicAny中">DynArray</a> <a href="../../../org/omg/DynamicAny/DynEnum.html" title="界面在org.omg.DynamicAny中">DynEnum</a> <a href="../../../org/omg/DynamicAny/DynFixed.html" title="界面在org.omg.DynamicAny中">DynFixed</a> <a href="../../../org/omg/DynamicAny/DynSequence.html" title="界面在org.omg.DynamicAny中">DynSequence</a> <a href="../../../org/omg/DynamicAny/DynStruct.html" title="界面在org.omg.DynamicAny中">DynStruct</a> <a href="../../../org/omg/DynamicAny/DynUnion.html" title="界面在org.omg.DynamicAny中">DynUnion</a> <a href="../../../org/omg/DynamicAny/DynValue.html" title="界面在org.omg.DynamicAny中">DynValue</a> <a href="../../../org/omg/DynamicAny/DynValueBox.html" title="界面在org.omg.DynamicAny中">DynValueBox</a> <a href="../../../org/omg/DynamicAny/DynValueCommon.html" title="界面在org.omg.DynamicAny中">DynValueCommon</a></span>
</dd>
</dl>
<dl>
<dt>
所有已知实现类:
</dt>
<dd>
<span><a href="../../../org/omg/DynamicAny/_DynAnyStub.html" title="org.omg.DynamicAny中的类">_DynAnyStub</a> <a href="../../../org/omg/DynamicAny/_DynArrayStub.html" title="org.omg.DynamicAny中的类">_DynArrayStub</a> <a href="../../../org/omg/DynamicAny/_DynEnumStub.html" title="org.omg.DynamicAny中的类">_DynEnumStub</a> <a href="../../../org/omg/DynamicAny/_DynFixedStub.html" title="org.omg.DynamicAny中的类">_DynFixedStub</a> <a href="../../../org/omg/DynamicAny/_DynSequenceStub.html" title="org.omg.DynamicAny中的类">_DynSequenceStub</a> <a href="../../../org/omg/DynamicAny/_DynStructStub.html" title="org.omg.DynamicAny中的类">_DynStructStub</a> <a href="../../../org/omg/DynamicAny/_DynUnionStub.html" title="org.omg.DynamicAny中的类">_DynUnionStub</a> <a href="../../../org/omg/DynamicAny/_DynValueStub.html" title="org.omg.DynamicAny中的类">_DynValueStub</a></span>
</dd>
</dl>
<hr/> <br/> <pre>public interface <span class="typeNameLabel">DynAny</span>
extends <a href="../../../org/omg/DynamicAny/DynAnyOperations.html" title="interface in org.omg.DynamicAny">DynAnyOperations</a>, <a href="../../../org/omg/CORBA/Object.html" title="interface in org.omg.CORBA">Object</a>, <a href="../../../org/omg/CORBA/portable/IDLEntity.html" title="interface in org.omg.CORBA.portable">IDLEntity</a></pre>
<div class="block">
<span>任何值都可以动态解释遍历并通过DynAny对象构造。</span>
<span>DynAny对象与数据值相关联数据值对应于插入任何值的副本。</span>
<p> <span>DynAny对象可以被视为组件DynAnys的有序集合。</span> <span>对于代表基本类型如long或无组件类型如空异常的DynAnys组件的有序集合为空。</span> <span>每个DynAny对象将当前位置的概念维护到其组件DynAnys的集合中。</span> <span>当前位置由从0到n-1运行的索引值来标识其中n是组件的数量。</span> <span>特殊索引值-1表示当前位置。</span> <span>对于不能具有当前位置的值(如空异常),索引值固定为-1。</span> <span>如果使用具有组件的值初始化DynAny则索引将初始化为0.创建未初始化的DynAny没有值但具有允许组件的TypeCode的DynAny之后当前位置取决于类型由DynAny代表的价值。</span> <span>当前位置设置为0或-1具体取决于新的DynAny是否为其组件获取默认值。</span> </p>
<p> <span>迭代操作倒退查找和下一个可以用于更改当前位置并且current_component操作返回当前位置的组件。</span> <span>component_count操作返回DynAny的组件数。</span> <span>总而言之这些操作可以对DynAny的组件执行迭代例如递归检查其内容。</span> </p>
<p> <span>构造的DynAny对象是与构造类型相关联的DynAny对象。</span> <span>有一个不同的接口从DynAny接口继承与IDL固定枚举结构序列联合数组异常和值类型中的每种构造类型相关联。</span> </p>
<p> <span>构造的DynAny对象导出可以创建新的DynAny对象的操作每个对象都与构造的数据值的组件相关联。</span> <span>作为示例DynStruct与一个结构体值相关联。</span> <span>这意味着DynStruct可能被视为拥有一个有序的组件集合每个结构成员一个。</span> <span>DynStruct对象导出可以创建新的DynAny对象的操作每个对象都与结构体的成员相关联。</span> </p>
<p> <span>如果已经从另一个构造的DynAny对象获取DynAny对象例如DynAny表示从DynStruct创建的结构成员则DynAny会在逻辑上包含DynStruct。</span> <span>调用插入或获取操作使当前位置保持不变。</span> <span>销毁顶层DynAny对象未作为另一个DynAny的组件获取的对象也会销毁从其获取的任何组件DynAny对象。</span> <span>销毁非顶级DynAny对象什么都不做。</span> <span>对已销毁的顶级DynAny或其任何后代调用操作会引发OBJECT_NOT_EXIST。</span> <span>如果程序员想要销毁一个DynAny对象但是仍然想要操作与它相关联的数据值的某个组件那么他或她应该首先为该组件创建一个DynAny然后创建一个创建的DynAny对象的副本。</span> </p>
<p> <span>已经定义了DynAny对象的行为以便在分配的内存空间和访问速度方面实现高效的实现。</span> <span>DynAny对象旨在用于遍历从anys提取的值或在运行时构建anys的值。</span> <span>不建议将其用于其他目的。</span> </p>
<p> <span>处理基本的DynAny对象需要插入和获取操作但也有助于处理构造的DynAny对象。</span> <span>将基本数据类型值插入构造的DynAny对象意味着初始化与DynAny对象关联的构造数据值的当前组件。</span> <span>例如在DynStruct上调用insert_boolean意味着在关联的struct数据值的当前位置插入一个布尔数据值。</span> <span>如果TypeCode等同于DynAny中包含的TypeCode或者如果DynAny具有组件则类型与当前位置的DynAny的TypeCode相当则该类型与插入或提取值是一致的。</span> </p>
<p> <span>DynAny和DynAnyFactory对象旨在在其创建和使用的进程的本地。</span> <span>这意味着对DynAny和DynAnyFactory对象的引用不能导出到其他进程或者使用ORB.object_to_string进行外部化。</span> <span>如果尝试这样做违规行为会引发MARSHAL系统异常。</span> <span>由于它们的接口在IDL中指定所以DynAny对象导出在标准org.omg.CORBA.Object接口中定义的操作。</span> <span>但是任何调用通过Object接口导出的操作的尝试可能会引发标准的NO_IMPLEMENT异常。</span> <span>尝试在DII中使用DynAny对象可能会引发NO_IMPLEMENT异常。</span> </p>
</div> </li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- --> </a> <h3>方法摘要</h3>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.omg.DynamicAny.DynAnyOperations">
<!-- --> </a> <h3>Methods inherited from interface org.omg.DynamicAny.<a href="../../../org/omg/DynamicAny/DynAnyOperations.html" title="interface in org.omg.DynamicAny">DynAnyOperations</a></h3> <code><a href="../../../org/omg/DynamicAny/DynAnyOperations.html#assign-org.omg.DynamicAny.DynAny-">assign</a>, <a href="../../../org/omg/DynamicAny/DynAnyOperations.html#component_count--">component_count</a>, <a href="../../../org/omg/DynamicAny/DynAnyOperations.html#copy--">copy</a>, <a href="../../../org/omg/DynamicAny/DynAnyOperations.html#current_component--">current_component</a>, <a href="../../../org/omg/DynamicAny/DynAnyOperations.html#destroy--">destroy</a>, <a href="../../../org/omg/DynamicAny/DynAnyOperations.html#equal-org.omg.DynamicAny.DynAny-">equal</a>, <a href="../../../org/omg/DynamicAny/DynAnyOperations.html#from_any-org.omg.CORBA.Any-">from_any</a>, <a href="../../../org/omg/DynamicAny/DynAnyOperations.html#get_any--">get_any</a>, <a href="../../../org/omg/DynamicAny/DynAnyOperations.html#get_boolean--">get_boolean</a>, <a href="../../../org/omg/DynamicAny/DynAnyOperations.html#get_char--">get_char</a>, <a href="../../../org/omg/DynamicAny/DynAnyOperations.html#get_double--">get_double</a>, <a href="../../../org/omg/DynamicAny/DynAnyOperations.html#get_dyn_any--">get_dyn_any</a>, <a href="../../../org/omg/DynamicAny/DynAnyOperations.html#get_float--">get_float</a>, <a href="../../../org/omg/DynamicAny/DynAnyOperations.html#get_long--">get_long</a>, <a href="../../../org/omg/DynamicAny/DynAnyOperations.html#get_longlong--">get_longlong</a>, <a href="../../../org/omg/DynamicAny/DynAnyOperations.html#get_octet--">get_octet</a>, <a href="../../../org/omg/DynamicAny/DynAnyOperations.html#get_reference--">get_reference</a>, <a href="../../../org/omg/DynamicAny/DynAnyOperations.html#get_short--">get_short</a>, <a href="../../../org/omg/DynamicAny/DynAnyOperations.html#get_string--">get_string</a>, <a href="../../../org/omg/DynamicAny/DynAnyOperations.html#get_typecode--">get_typecode</a>, <a href="../../../org/omg/DynamicAny/DynAnyOperations.html#get_ulong--">get_ulong</a>, <a href="../../../org/omg/DynamicAny/DynAnyOperations.html#get_ulonglong--">get_ulonglong</a>, <a href="../../../org/omg/DynamicAny/DynAnyOperations.html#get_ushort--">get_ushort</a>, <a href="../../../org/omg/DynamicAny/DynAnyOperations.html#get_val--">get_val</a>, <a href="../../../org/omg/DynamicAny/DynAnyOperations.html#get_wchar--">get_wchar</a>, <a href="../../../org/omg/DynamicAny/DynAnyOperations.html#get_wstring--">get_wstring</a>, <a href="../../../org/omg/DynamicAny/DynAnyOperations.html#insert_any-org.omg.CORBA.Any-">insert_any</a>, <a href="../../../org/omg/DynamicAny/DynAnyOperations.html#insert_boolean-boolean-">insert_boolean</a>, <a href="../../../org/omg/DynamicAny/DynAnyOperations.html#insert_char-char-">insert_char</a>, <a href="../../../org/omg/DynamicAny/DynAnyOperations.html#insert_double-double-">insert_double</a>, <a href="../../../org/omg/DynamicAny/DynAnyOperations.html#insert_dyn_any-org.omg.DynamicAny.DynAny-">insert_dyn_any</a>, <a href="../../../org/omg/DynamicAny/DynAnyOperations.html#insert_float-float-">insert_float</a>, <a href="../../../org/omg/DynamicAny/DynAnyOperations.html#insert_long-int-">insert_long</a>, <a href="../../../org/omg/DynamicAny/DynAnyOperations.html#insert_longlong-long-">insert_longlong</a>, <a href="../../../org/omg/DynamicAny/DynAnyOperations.html#insert_octet-byte-">insert_octet</a>, <a href="../../../org/omg/DynamicAny/DynAnyOperations.html#insert_reference-org.omg.CORBA.Object-">insert_reference</a>, <a href="../../../org/omg/DynamicAny/DynAnyOperations.html#insert_short-short-">insert_short</a>, <a href="../../../org/omg/DynamicAny/DynAnyOperations.html#insert_string-java.lang.String-">insert_string</a>, <a href="../../../org/omg/DynamicAny/DynAnyOperations.html#insert_typecode-org.omg.CORBA.TypeCode-">insert_typecode</a>, <a href="../../../org/omg/DynamicAny/DynAnyOperations.html#insert_ulong-int-">insert_ulong</a>, <a href="../../../org/omg/DynamicAny/DynAnyOperations.html#insert_ulonglong-long-">insert_ulonglong</a>, <a href="../../../org/omg/DynamicAny/DynAnyOperations.html#insert_ushort-short-">insert_ushort</a>, <a href="../../../org/omg/DynamicAny/DynAnyOperations.html#insert_val-java.io.Serializable-">insert_val</a>, <a href="../../../org/omg/DynamicAny/DynAnyOperations.html#insert_wchar-char-">insert_wchar</a>, <a href="../../../org/omg/DynamicAny/DynAnyOperations.html#insert_wstring-java.lang.String-">insert_wstring</a>, <a href="../../../org/omg/DynamicAny/DynAnyOperations.html#next--">next</a>, <a href="../../../org/omg/DynamicAny/DynAnyOperations.html#rewind--">rewind</a>, <a href="../../../org/omg/DynamicAny/DynAnyOperations.html#seek-int-">seek</a>, <a href="../../../org/omg/DynamicAny/DynAnyOperations.html#to_any--">to_any</a>, <a href="../../../org/omg/DynamicAny/DynAnyOperations.html#type--">type</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.omg.CORBA.Object">
<!-- --> </a> <h3>Methods inherited from interface org.omg.CORBA.<a href="../../../org/omg/CORBA/Object.html" title="interface in org.omg.CORBA">Object</a></h3> <code><a href="../../../org/omg/CORBA/Object.html#Z:Z_create_request-org.omg.CORBA.Context-java.lang.String-org.omg.CORBA.NVList-org.omg.CORBA.NamedValue-">_create_request</a>, <a href="../../../org/omg/CORBA/Object.html#Z:Z_create_request-org.omg.CORBA.Context-java.lang.String-org.omg.CORBA.NVList-org.omg.CORBA.NamedValue-org.omg.CORBA.ExceptionList-org.omg.CORBA.ContextList-">_create_request</a>, <a href="../../../org/omg/CORBA/Object.html#Z:Z_duplicate--">_duplicate</a>, <a href="../../../org/omg/CORBA/Object.html#Z:Z_get_domain_managers--">_get_domain_managers</a>, <a href="../../../org/omg/CORBA/Object.html#Z:Z_get_interface_def--">_get_interface_def</a>, <a href="../../../org/omg/CORBA/Object.html#Z:Z_get_policy-int-">_get_policy</a>, <a href="../../../org/omg/CORBA/Object.html#Z:Z_hash-int-">_hash</a>, <a href="../../../org/omg/CORBA/Object.html#Z:Z_is_a-java.lang.String-">_is_a</a>, <a href="../../../org/omg/CORBA/Object.html#Z:Z_is_equivalent-org.omg.CORBA.Object-">_is_equivalent</a>, <a href="../../../org/omg/CORBA/Object.html#Z:Z_non_existent--">_non_existent</a>, <a href="../../../org/omg/CORBA/Object.html#Z:Z_release--">_release</a>, <a href="../../../org/omg/CORBA/Object.html#Z:Z_request-java.lang.String-">_request</a>, <a href="../../../org/omg/CORBA/Object.html#Z:Z_set_policy_override-org.omg.CORBA.Policy:A-org.omg.CORBA.SetOverrideType-">_set_policy_override</a></code></li>
</ul> </li>
</ul> </li>
</ul>
</div>
</div>