public interface DynUnionOperations
DynUnion 对象支持对 IDL 联合数据 (union) 的操作。联合数据只能有两个有效的当前位置:
方法摘要 | |
---|---|
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 标签都不相应的值。 |
方法详细信息 |
---|
DynAny get_discriminator()
void set_discriminator(DynAny d) throws TypeMismatch
TypeMismatch
- 如果参数的 TypeCode 不等于联合数据鉴别符的 TypeCode
void set_to_default_member() throws TypeMismatch
TypeMismatch
- 如果联合数据没有显式的默认 case
void set_to_no_active_member() throws TypeMismatch
TypeMismatch
- 如果联合数据具有显式的默认 case,或者其显式 case 标签使用了整个鉴别符值范围
boolean has_no_active_member()
TCKind discriminator_kind()
TCKind member_kind() throws InvalidValue
InvalidValue
- 如果联合数据不具有当前活动成员
DynAny member() throws InvalidValue
InvalidValue
- 如果联合数据没有活动成员
String member_name() throws InvalidValue
InvalidValue
- 如果联合数据没有活动成员