-
- All Superinterfaces:
-
DynAnyOperations
- All Known Subinterfaces:
-
DynStruct
- 所有已知实现类:
-
_DynStructStub
public interface DynStructOperations extends DynAnyOperations
DynStruct对象支持IDL结构和异常值的操作。 异常的成员以与struct的成员相同的方式处理。
-
-
方法摘要
所有方法 接口方法 抽象方法 Modifier and Type 方法 描述 TCKind
current_member_kind()
返回与当前位置的成员关联的TCKind。String
current_member_name()
返回当前位置的成员名称。NameValuePair[]
get_members()
返回一个NameValuePairs序列,描述与DynStruct对象关联的结构中每个成员的名称和值。NameDynAnyPair[]
get_members_as_dyn_any()
返回一个NameDynAnyPairs序列,描述与DynStruct对象关联的结构中每个成员的名称和值。void
set_members(NameValuePair[] value)
从NameValuePairs序列中初始化与DynStruct对象关联的结构数据值。void
set_members_as_dyn_any(NameDynAnyPair[] value)
从NameDynAnyPairs序列中初始化与DynStruct对象关联的结构数据值。-
Methods inherited from interface 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()
返回一个NameValuePairs序列,描述与DynStruct对象关联的结构中每个成员的名称和值。 该序列包含与DynStruct的TypeCode所指示的成员的声明顺序相同的成员。 当前位置不受影响。 如果DynStruct的TypeCode不包含成员名称,则返回的序列中的成员名称将为空字符串。
-
set_members
void set_members(NameValuePair[] value) throws TypeMismatch, InvalidValue
从NameValuePairs序列中初始化与DynStruct对象关联的结构数据值。 如果传递的序列具有非零长度,则操作将当前位置设置为零。 否则,如果通过一个空序列,当前位置被设置为-1。成员必须按照DynStruct的TypeCode所指示的顺序显示在NameValuePairs中,它们在结构的IDL规范中出现,或者它们必须是空字符串。 该操作不会尝试基于成员名称分配成员值。
- 异常
-
TypeMismatch
- 如果传递的序列中提供的成员名称与DynStruct的TypeCode中的相应成员名称不匹配,而不是空字符串 -
InvalidValue
- 如果传递的序列具有InvalidValue
DynStruct的TypeCode所指示的成员数的多个元素
-
get_members_as_dyn_any
NameDynAnyPair[] get_members_as_dyn_any()
返回一个NameDynAnyPairs序列,描述与DynStruct对象关联的结构中每个成员的名称和值。 该序列包含与DynStruct的TypeCode所指示的成员的声明顺序相同的成员。 当前位置不受影响。 如果DynStruct的TypeCode不包含成员名称,则返回的序列中的成员名称将为空字符串。
-
set_members_as_dyn_any
void set_members_as_dyn_any(NameDynAnyPair[] value) throws TypeMismatch, InvalidValue
从NameDynAnyPairs序列中初始化与DynStruct对象关联的结构数据值。 如果传递的序列具有非零长度,则操作将当前位置设置为零。 否则,如果通过一个空序列,当前位置被设置为-1。成员必须按照DynStruct的TypeCode所指示的顺序出现在NameDynAnyPairs中,并按照它们显示在结构体的IDL规范中的顺序,或者它们必须是空字符串。 该操作不会尝试基于成员名称分配成员值。
- 异常
-
TypeMismatch
- 如果传递的序列中提供的成员名称与DynStruct的TypeCode中的对应成员名称不匹配,并且它们不为空字符串 -
InvalidValue
- 如果传递的序列具有与DynStruct的TypeCode所指示的成员数不同的元素数
-
-