所有类


org.omg.DynamicAny
类 _DynUnionStub

java.lang.Object
  继承者 org.omg.CORBA.portable.ObjectImpl
      继承者 org.omg.DynamicAny._DynUnionStub
所有已实现的接口:
Serializable, Object, IDLEntity, DynAny, DynAnyOperations, DynUnion, DynUnionOperations

public class _DynUnionStub
   
   
   
   
     
     
extends ObjectImpl
implements DynUnion

DynUnion 对象支持对 IDL 联合数据 (union) 的操作。联合数据只能有两个有效的当前位置:

  • 0,表示鉴别符 (discriminator)
  • 1,表示活动成员
联合数据的 component_count 值依赖于当前鉴别符:其鉴别符指示一个指定成员的联合数据的 component_count 值为 2,其他情况为 1。


字段摘要
static Class_opsClass
           
 
构造方法摘要
_DynUnionStub()
           
 
方法摘要
 String[]_ids()
          获得包含此 ObjectImpl 对象所支持的存储库标识符的字符串数组。
 voidassign(DynAny dyn_any)
          使用与另一个 DynAny 对象有关联的值初始化与 DynAny 对象有关联的值。
 intcomponent_count()
          返回 DynAny 的组件数。
 DynAnycopy()
          创建一个新 DynAny 对象,其值为调用此方法的 DynAny 的深层复制。
 DynAnycurrent_component()
          返回当前位置上的组件的 DynAny。
 voiddestroy()
          销毁 DynAny 对象。
 TCKinddiscriminator_kind()
          返回鉴别符 TypeCode 的 TCKind 值。
 booleanequal(DynAny dyn_any)
          比较两个 DynAny 值是否相等。
 voidfrom_any(Any value)
          使用 any 中包含的值初始化与 DynAny 对象有关联的值。
 Anyget_any()
          提取由此 DynAny 表示的 Any 中所包含的 Any 值。
 booleanget_boolean()
          从此 DynAny 中提取 boolean 值。
 charget_char()
          从此 DynAny 中提取 char 值。
 DynAnyget_discriminator()
          返回当前鉴别符值。
 doubleget_double()
          从此 DynAny 中提取 double 值。
 DynAnyget_dyn_any()
          提取由此 DynAny 表示的 Any 中所包含的 Any 值,并将其包装在新 DynAny 中返回。
 floatget_float()
          从此 DynAny 中提取 float 值。
 intget_long()
          从此 DynAny 中提取 integer 值。
 longget_longlong()
          从此 DynAny 中提取 long 值。
 byteget_octet()
          从此 DynAny 中提取 byte 值。
 Objectget_reference()
          从此 DynAny 中提取对 CORBA 对象的引用。
 shortget_short()
          从此 DynAny 中提取 short 值。
 Stringget_string()
          从此 DynAny 中提取 string 值。
 TypeCodeget_typecode()
          从此 DynAny 中提取 TypeCode 对象。
 intget_ulong()
          从此 DynAny 中提取 integer 值。
 longget_ulonglong()
          从此 DynAny 中提取 long 值。
 shortget_ushort()
          从此 DynAny 中提取 short 值。
 Serializableget_val()
          从此 DynAny 中提取 Serializable 对象。
 charget_wchar()
          从此 DynAny 中提取 long 值。
 Stringget_wstring()
          从此 DynAny 中提取 string 值。
 booleanhas_no_active_member()
          如果联合数据没有活动成员,即这些联合数据值仅由其鉴别符组成(因为鉴别符的值不作为显式 case 标签列出),则返回 true。
 voidinsert_any(Any value)
          将 Any 值插入此 DynAny 表示的 Any 中。
 voidinsert_boolean(boolean value)
          将 boolean 值插入 DynAny 中。
 voidinsert_char(char value)
          将 char 值插入 DynAny 中。
 voidinsert_double(double value)
          将 double 值插入 DynAny 中。
 voidinsert_dyn_any(DynAny value)
          将参数 DynAny 中所包含的 Any 值插入此 DynAny 表示的 Any 中。
 voidinsert_float(float value)
          将 float 值插入 DynAny 中。
 voidinsert_long(int value)
          将 integer 值插入 DynAny 中。
 voidinsert_longlong(long value)
          将 long 值插入 DynAny 中。
 voidinsert_octet(byte value)
          将 byte 值插入 DynAny 中。
 voidinsert_reference(Object value)
          将对 CORBA 对象的引用插入到 DynAny 中。
 voidinsert_short(short value)
          将 short 值插入 DynAny 中。
 voidinsert_string(String value)
          将 string 值插入 DynAny 中。
 voidinsert_typecode(TypeCode value)
          将 TypeCode 对象插入 DynAny 中。
 voidinsert_ulong(int value)
          将 integer 值插入 DynAny 中。
 voidinsert_ulonglong(long value)
          将 long 值插入 DynAny 中。
 voidinsert_ushort(short value)
          将 short 值插入 DynAny 中。
 voidinsert_val(Serializable value)
          将对 Serializable 对象的引用插入此 DynAny 中。
 voidinsert_wchar(char value)
          将 char 值插入 DynAny 中。
 voidinsert_wstring(String value)
          将 string 值插入 DynAny 中。
 TCKindmember_kind()
          返回当前活动成员 TypeCode 的 TCKind 值。
 Stringmember_name()
          返回当前活动成员的名称。
 DynAnymember()
          返回当前活动成员。
 booleannext()
          将当前位置推进到下一个组件。
 voidrewind()
          等效于 seek(0)。
 booleanseek(int index)
          将当前位置设置为索引。
 voidset_discriminator(DynAny d)
          将 DynUnion 的鉴别符值设置为指定值。
 voidset_to_default_member()
          将鉴别符设置为联合数据的默认 case 的值。
 voidset_to_no_active_member()
          将鉴别符设置为与任何联合数据 case 标签都不相应的值。
 Anyto_any()
          从 DynAny 对象创建 any 值。
 TypeCodetype()
          返回与此 DynAny 对象有关联的 TypeCode。
 
从类 org.omg.CORBA.portable.ObjectImpl 继承的方法
_create_request, _create_request, _duplicate, _get_delegate, _get_domain_managers, _get_interface_def, _get_policy, _hash, _invoke, _is_a, _is_equivalent, _is_local, _non_existent, _orb, _release, _releaseReply, _request, _request, _servant_postinvoke, _servant_preinvoke, _set_delegate, _set_policy_override, equals, hashCode, toString
 
从类 java.lang.Object 继承的方法
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
从接口 org.omg.CORBA.Object 继承的方法
_create_request, _create_request, _duplicate, _get_domain_managers, _get_interface_def, _get_policy, _hash, _is_a, _is_equivalent, _non_existent, _release, _request, _set_policy_override
 

字段详细信息

_opsClass

public static final Class _opsClass
构造方法详细信息

_DynUnionStub

public _DynUnionStub()
方法详细信息

get_discriminator

public DynAny get_discriminator()
返回当前鉴别符值。

指定者:
接口 DynUnionOperations 中的 get_discriminator

set_discriminator

public void set_discriminator(DynAny d)
                       throws TypeMismatch
将 DynUnion 的鉴别符值设置为指定值。将鉴别符设置为与当前活动联合数据成员一致的值对当前活动成员没有影响。将鉴别符设置为与当前活动成员不一致的值将停用该成员,并将与新鉴别符值一致的成员(如果存在与该值对应的成员)初始化为其默认值,从而激活该成员。如果鉴别符值指示一个不存在的联合数据成员,则设置联合数据鉴别符会将当前位置设置为 0(在此情况下,has_no_active_member 返回 true)。否则,如果鉴别符值指示指定的联合数据成员,则将当前位置设置为 1(在此情况下,has_no_active_member 返回 false,component_count 返回 2)。

指定者:
接口 DynUnionOperations 中的 set_discriminator
抛出:
TypeMismatch - 如果参数的 TypeCode 不等于联合数据鉴别符的 TypeCode

set_to_default_member

public void set_to_default_member()
                           throws TypeMismatch
将鉴别符设置为联合数据的默认 case 的值。它将当前位置设置为 0,并导致 component_count 返回 2。

指定者:
接口 DynUnionOperations 中的 set_to_default_member
抛出:
TypeMismatch - 如果联合数据没有显式的默认 case

set_to_no_active_member

public void set_to_no_active_member()
                             throws TypeMismatch
将鉴别符设置为与任何联合数据 case 标签都不相应的值。它将当前位置设置为 0,并导致 component_count 返回 1。

指定者:
接口 DynUnionOperations 中的 set_to_no_active_member
抛出:
TypeMismatch - 如果联合数据具有显式的默认 case,或者其显式 case 标签使用了整个鉴别符值范围

has_no_active_member

public boolean has_no_active_member()
如果联合数据没有活动成员,即这些联合数据值仅由其鉴别符组成(因为鉴别符的值不作为显式 case 标签列出),则返回 true。对具有默认 case 的联合数据调用此操作将返回 false。对显式 case 标签使用了整个鉴别符值范围的联合数据调用此操作将返回 false。

指定者:
接口 DynUnionOperations 中的 has_no_active_member

discriminator_kind

public TCKind discriminator_kind()
返回鉴别符 TypeCode 的 TCKind 值。

指定者:
接口 DynUnionOperations 中的 discriminator_kind

member_kind

public TCKind member_kind()
                   throws InvalidValue
返回当前活动成员 TypeCode 的 TCKind 值。

指定者:
接口 DynUnionOperations 中的 member_kind
抛出:
InvalidValue - 如果联合数据不具有当前活动成员