所有类
|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
org.omg.DynamicAny
接口 DynUnionOperations
- 所有超级接口:
- DynAnyOperations
- 所有已知子接口:
- DynUnion
- 所有已知实现类:
- _DynUnionStub
-
public interface DynUnionOperations
- extends DynAnyOperations
DynUnion 对象支持对 IDL 联合数据 (union) 的操作。联合数据只能有两个有效的当前位置:
- 0,表示鉴别符 (discriminator)
- 1,表示活动成员
方法摘要 | |
---|---|
TCKind |
discriminator_kind() 返回鉴别符 TypeCode 的 TCKind 值。 |
DynAny |
get_discriminator() 返回当前鉴别符值。 |
boolean |
has_no_active_member() 如果联合数据没有活动成员,即这些联合数据值仅由其鉴别符组成(因为鉴别符的值不作为显式 case 标签列出),则返回 true。 |
TCKind |
member_kind() 返回当前活动成员 TypeCode 的 TCKind 值。 |
String |
member_name() 返回当前活动成员的名称。 |
DynAny |
member() 返回当前活动成员。 |
void |
set_discriminator(DynAny d) 将 DynUnion 的鉴别符值设置为指定值。 |
void |
set_to_default_member() 将鉴别符设置为联合数据的默认 case 的值。 |
void |
set_to_no_active_member() 将鉴别符设置为与任何联合数据 case 标签都不相应的值。 |
方法详细信息 |
---|
get_discriminator
DynAny get_discriminator()
- 返回当前鉴别符值。
-
-
set_discriminator
void set_discriminator(DynAny d) throws TypeMismatch
- 将 DynUnion 的鉴别符值设置为指定值。将鉴别符设置为与当前活动联合数据成员一致的值对当前活动成员没有影响。将鉴别符设置为与当前活动成员不一致的值将停用该成员,并将与新鉴别符值一致的成员(如果存在与该值对应的成员)初始化为其默认值,从而激活该成员。如果鉴别符值指示一个不存在的联合数据成员,则设置联合数据鉴别符会将当前位置设置为 0(在此情况下,has_no_active_member 返回 true)。否则,如果鉴别符值指示指定的联合数据成员,则将当前位置设置为 1(在此情况下,has_no_active_member 返回 false,component_count 返回 2)。
-
-
- 抛出:
TypeMismatch
- 如果参数的 TypeCode 不等于联合数据鉴别符的 TypeCode
set_to_default_member
void set_to_default_member() throws TypeMismatch
- 将鉴别符设置为联合数据的默认 case 的值。它将当前位置设置为 0,并导致 component_count 返回 2。
-
-
- 抛出:
TypeMismatch
- 如果联合数据没有显式的默认 case
set_to_no_active_member
void set_to_no_active_member() throws TypeMismatch
- 将鉴别符设置为与任何联合数据 case 标签都不相应的值。它将当前位置设置为 0,并导致 component_count 返回 1。
-
-
- 抛出:
TypeMismatch
- 如果联合数据具有显式的默认 case,或者其显式 case 标签使用了整个鉴别符值范围
has_no_active_member
boolean has_no_active_member()
- 如果联合数据没有活动成员,即这些联合数据值仅由其鉴别符组成(因为鉴别符的值不作为显式 case 标签列出),则返回 true。对具有默认 case 的联合数据调用此操作将返回 false。对显式 case 标签使用了整个鉴别符值范围的联合数据调用此操作将返回 false。
-
-
discriminator_kind
TCKind discriminator_kind()
- 返回鉴别符 TypeCode 的 TCKind 值。
-
-
member_kind
TCKind member_kind() throws InvalidValue
- 返回当前活动成员 TypeCode 的 TCKind 值。
-
-
- 抛出:
InvalidValue
- 如果联合数据不具有当前活动成员