org.omg.DynamicAny

接口
所有超级接口:
DynAnyOperations
所有已知子接口:
DynStruct
所有已知实现类:
_DynStructStub

public interface DynStructOperations
     
extends DynAnyOperations

DynStruct 对象支持对 IDL 结构数据 (struct) 和异常 (exception) 值的操作。对异常成员的处理方式与对结构数据成员一样。


方法摘要
 TCKind current_member_kind()
          返回与当前位置的成员关联的 TCKind。
 String current_member_name()
          返回当前位置的成员的名称。
 NameDynAnyPair[] get_members_as_dyn_any()
          返回一个 NameDynAnyPair 序列,这些 NameDynAnyPair 描述与 DynStruct 对象关联的结构数据中每个成员的名称和值。
 NameValuePair[] get_members()
          返回一个 NameValuePair 序列,这些 NameValuePair 描述与 DynStruct 对象关联的结构数据中每个成员的名称和值。
 void set_members_as_dyn_any(NameDynAnyPair[] value)
          初始化与 NameDynAnyPair 序列中的 DynStruct 对象关联的结构数据值。
 void set_members(NameValuePair[] value)
          初始化与 NameValuePair 序列中的 DynStruct 对象关联的结构数据值。
 
从接口 org.omg.DynamicAny.DynAnyOperations 继承的方法
assign, component_count, copy, current_component, destroy, equal, from_any, get_any, get_boolean, get_char, get_double, get_dyn_any, get_float, get_long, get_longlong, get_octet, get_reference, get_short, get_string, get_typecode, get_ulong, get_ulonglong, get_ushort, get_val, get_wchar, get_wstring, insert_any, insert_boolean, insert_char, insert_double, insert_dyn_any, insert_float, insert_long, insert_longlong, insert_octet, insert_reference, insert_short, insert_string, insert_typecode, insert_ulong, insert_ulonglong, insert_ushort, insert_val, insert_wchar, insert_wstring, next, rewind, seek, to_any, type
 

方法详细信息

current_member_name

String current_member_name()
                           throws TypeMismatch,
                                  InvalidValue
返回当前位置的成员的名称。此操作可能返回空字符串,因为所操作的值的 TypeCode 可能不包含成员名称。

抛出:
TypeMismatch - 如果 DynStruct 表示空异常。
InvalidValue - 如果当前位置不指示成员

current_member_kind

TCKind current_member_kind()
                           throws TypeMismatch,
                                  InvalidValue
返回与当前位置的成员关联的 TCKind。

抛出:
TypeMismatch - 如果 DynStruct 表示空异常。
InvalidValue - 如果当前位置不指示成员

get_members

NameValuePair[] get_members()
返回一个 NameValuePair 序列,这些 NameValuePair 描述与 DynStruct 对象关联的结构数据中每个成员的名称和值。该序列所含成员的顺序与成员的声明顺序(由 DynStruct 的 TypeCode 指示)相同。当前位置不受影响。如果 DynStruct 的 TypeCode 不包含成员名称,则返回序列中的成员名称将为空字符串。


set_members

void set_members(NameValuePair[] value)
                 throws TypeMismatch,
                        InvalidValue
初始化与 NameValuePair 序列中的 DynStruct 对象关联的结构数据值。如果传递的序列长度不为 0,则操作将当前位置设置为 0。如果传递的是空序列,则将当前位置设置为 -1。

根据 DynStruct 的 TypeCode 的指示,成员在 NameValuePair 中必须按它们在结构数据的 IDL 规范中的显示顺序显示,除非它们为空字符串。该操作不尝试根据成员名称分配成员值。

抛出:
TypeMismatch - 如果所传递序列中提供的成员名称与 DynStruct 的 TypeCode 中相应成员名称不匹配,并且它们都不是空字符串
InvalidValue - 如果所传递序列的元素数与 DynStruct 的 TypeCode 指示的成员数不一致

get_members_as_dyn_any

NameDynAnyPair[] get_members_as_dyn_any()
返回一个 NameDynAnyPair 序列,这些 NameDynAnyPair 描述与 DynStruct 对象关联的结构数据中每个成员的名称和值。该序列所含成员的顺序与成员的声明顺序(由 DynStruct 的 TypeCode 指示)相同。当前位置不受影响。如果 DynStruct 的 TypeCode 不包含成员名称,则返回序列中的成员名称将为空字符串。


set_members_as_dyn_any

void set_members_as_dyn_any(NameDynAnyPair[] value)
                            throws TypeMismatch,
                                   InvalidValue
初始化与 NameDynAnyPair 序列中的 DynStruct 对象关联的结构数据值。如果传递的序列长度不为 0,则操作将当前位置设置为 0。如果传递的是空序列,则将当前位置设置为 -1。

根据 DynStruct 的 TypeCode 的指示,成员在 NameDynAnyPair 中必须按它们在结构数据的 IDL 规范中的显示顺序显示,除非它们为空字符串。该操作不尝试根据成员名称分配成员值。

抛出:
TypeMismatch - 如果所传递序列中提供的成员名称与 DynStruct 的 TypeCode 中相应成员名称不匹配,并且它们都不是空字符串
InvalidValue - 如果所传递序列的元素数与 DynStruct 的 TypeCode 指示的成员数不一致