所有类


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 对象所支持的存储库标识符的字符串数组。
 void assign(DynAny dyn_any)
          使用与另一个 DynAny 对象有关联的值初始化与 DynAny 对象有关联的值。
 int component_count()
          返回 DynAny 的组件数。
 DynAny copy()
          创建一个新 DynAny 对象,其值为调用此方法的 DynAny 的深层复制。
 DynAny current_component()
          返回当前位置上的组件的 DynAny。
 void destroy()
          销毁 DynAny 对象。
 TCKind discriminator_kind()
          返回鉴别符 TypeCode 的 TCKind 值。
 boolean equal(DynAny dyn_any)
          比较两个 DynAny 值是否相等。
 void from_any(Any value)
          使用 any 中包含的值初始化与 DynAny 对象有关联的值。
 Any get_any()
          提取由此 DynAny 表示的 Any 中所包含的 Any 值。
 boolean get_boolean()
          从此 DynAny 中提取 boolean 值。
 char get_char()
          从此 DynAny 中提取 char 值。
 DynAny get_discriminator()
          返回当前鉴别符值。
 double get_double()
          从此 DynAny 中提取 double 值。
 DynAny get_dyn_any()
          提取由此 DynAny 表示的 Any 中所包含的 Any 值,并将其包装在新 DynAny 中返回。
 float get_float()
          从此 DynAny 中提取 float 值。
 int get_long()
          从此 DynAny 中提取 integer 值。
 long get_longlong()
          从此 DynAny 中提取 long 值。
 byte get_octet()
          从此 DynAny 中提取 byte 值。
 Object get_reference()
          从此 DynAny 中提取对 CORBA 对象的引用。
 short get_short()
          从此 DynAny 中提取 short 值。
 String get_string()
          从此 DynAny 中提取 string 值。
 TypeCode get_typecode()
          从此 DynAny 中提取 TypeCode 对象。
 int get_ulong()
          从此 DynAny 中提取 integer 值。
 long get_ulonglong()
          从此 DynAny 中提取 long 值。
 short get_ushort()
          从此 DynAny 中提取 short 值。
 Serializable get_val()
          从此 DynAny 中提取 Serializable 对象。
 char get_wchar()
          从此 DynAny 中提取 long 值。
 String get_wstring()
          从此 DynAny 中提取 string 值。
 boolean has_no_active_member()
          如果联合数据没有活动成员,即这些联合数据值仅由其鉴别符组成(因为鉴别符的值不作为显式 case 标签列出),则返回 true。
 void insert_any(Any value)
          将 Any 值插入此 DynAny 表示的 Any 中。
 void insert_boolean(boolean value)
          将 boolean 值插入 DynAny 中。
 void insert_char(char value)
          将 char 值插入 DynAny 中。
 void insert_double(double value)
          将 double 值插入 DynAny 中。
 void insert_dyn_any(DynAny value)
          将参数 DynAny 中所包含的 Any 值插入此 DynAny 表示的 Any 中。
 void insert_float(float value)
          将 float 值插入 DynAny 中。
 void insert_long(int value)
          将 integer 值插入 DynAny 中。
 void insert_longlong(long value)
          将 long 值插入 DynAny 中。
 void insert_octet(byte value)
          将 byte 值插入 DynAny 中。
 void insert_reference(Object value)
          将对 CORBA 对象的引用插入到 DynAny 中。
 void insert_short(short value)
          将 short 值插入 DynAny 中。
 void insert_string(String value)
          将 string 值插入 DynAny 中。
 void insert_typecode(TypeCode value)
          将 TypeCode 对象插入 DynAny 中。
 void insert_ulong(int value)
          将 integer 值插入 DynAny 中。
 void insert_ulonglong(long value)
          将 long 值插入 DynAny 中。
 void insert_ushort(short value)
          将 short 值插入 DynAny 中。
 void insert_val(Serializable value)
          将对 Serializable 对象的引用插入此 DynAny 中。
 void insert_wchar(char value)
          将 char 值插入 DynAny 中。
 void insert_wstring(String value)
          将 string 值插入 DynAny 中。
 TCKind member_kind()
          返回当前活动成员 TypeCode 的 TCKind 值。
 String member_name()
          返回当前活动成员的名称。
 DynAny member()
          返回当前活动成员。
 boolean next()
          将当前位置推进到下一个组件。
 void rewind()
          等效于 seek(0)。
 boolean seek(int index)
          将当前位置设置为索引。
 void set_discriminator(DynAny d)
          将 DynUnion 的鉴别符值设置为指定值。
 void set_to_default_member()
          将鉴别符设置为联合数据的默认 case 的值。
 void set_to_no_active_member()
          将鉴别符设置为与任何联合数据 case 标签都不相应的值。
 Any to_any()
          从 DynAny 对象创建 any 值。
 TypeCode type()
          返回与此 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 - 如果联合数据不具有当前活动成员

微信小程序

微信扫一扫体验

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部