-
- All Superinterfaces:
-
DynAnyOperations
,DynValueCommonOperations
- All Known Subinterfaces:
-
DynValue
- 所有已知实现类:
-
_DynValueStub
public interface DynValueOperations extends DynValueCommonOperations
DynValue对象支持IDL非盒装值类型的操作。 DynValue接口可以表示null和非null值类型。 对于表示非空值类型的DynValue,DynValue的组件按照定义的顺序包含值类型的公有成员和私有成员,包括从具体基类型继承的类型。 表示空值类型的DynValue没有组件,当前位置为-1。警告:不加区别地改变私有价值类型成员的内容可能导致价值类型实现通过违反内部约束而中断。 提供访问私有成员以支持ORB桥接和调试等活动,不应被用来任意违反价值类型的封装。
-
-
方法摘要
所有方法 接口方法 抽象方法 Modifier and Type 方法 描述 TCKind
current_member_kind()
返回与当前位置的成员关联的TCKind。String
current_member_name()
返回当前位置的成员名称。NameValuePair[]
get_members()
返回一个NameValuePairs序列,描述值类型中每个成员的名称和值。NameDynAnyPair[]
get_members_as_dyn_any()
返回一个NameDynAnyPairs序列,描述值类型中每个成员的名称和值。void
set_members(NameValuePair[] value)
从NameValuePairs序列初始化值类型的成员。void
set_members_as_dyn_any(NameDynAnyPair[] value)
从NameDynAnyPairs序列初始化值类型的成员。-
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
-
Methods inherited from interface org.omg.DynamicAny.DynValueCommonOperations
is_null, set_to_null, set_to_value
-
-
-
-
方法详细信息
-
current_member_name
String current_member_name() throws TypeMismatch, InvalidValue
返回当前位置的成员名称。 此操作可能返回一个空字符串,因为被操作的值的TypeCode可能不包含成员的名称。- 异常
-
TypeMismatch
- 如果DynValue表示空值类型。 -
InvalidValue
- 如果当前位置不指示成员
-
current_member_kind
TCKind current_member_kind() throws TypeMismatch, InvalidValue
返回与当前位置的成员关联的TCKind。- 异常
-
TypeMismatch
- 如果DynValue表示空值类型。 -
InvalidValue
- 如果当前位置不表示成员
-
get_members
NameValuePair[] get_members() throws InvalidValue
返回一个NameValuePairs序列,描述值类型中每个成员的名称和值。 该序列包含与DynValue的TypeCode所指示的成员的声明顺序相同的成员。 当前位置不受影响。 如果DynValue的TypeCode不包含成员名称,则返回的序列中的成员名称将为空字符串。- 异常
-
InvalidValue
- 如果此对象表示空值类型
-
set_members
void set_members(NameValuePair[] value) throws TypeMismatch, InvalidValue
从NameValuePairs序列初始化值类型的成员。 如果传递的序列具有非零长度,则操作将当前位置设置为零。 否则,如果通过一个空序列,当前位置被设置为-1。 可以使用此方法将空值类型初始化为非空值类型。成员必须按照DynValue的TypeCode所指示的值类型的IDL规范中出现的顺序出现在NameValuePairs中,或者它们必须是空字符串。 该操作不会尝试基于成员名称分配成员值。
- 异常
-
TypeMismatch
- 如果传递的序列中提供的成员名称与DynValue的TypeCode中的相应成员名称不匹配,并且它们不为空字符串 -
InvalidValue
- 如果传递的序列具有与DynValue的TypeCode所指示的成员数不一致的元素数
-
get_members_as_dyn_any
NameDynAnyPair[] get_members_as_dyn_any() throws InvalidValue
返回一个NameDynAnyPairs序列,描述值类型中每个成员的名称和值。 该序列包含与DynValue的TypeCode所指示的成员的声明顺序相同的成员。 当前位置不受影响。 如果DynValue的TypeCode不包含成员名称,则返回的序列中的成员名称将为空字符串。- 异常
-
InvalidValue
- 如果此对象表示空值类型
-
set_members_as_dyn_any
void set_members_as_dyn_any(NameDynAnyPair[] value) throws TypeMismatch, InvalidValue
从NameDynAnyPairs序列初始化值类型的成员。 如果传递的序列具有非零长度,则操作将当前位置设置为零。 否则,如果通过一个空序列,当前位置被设置为-1。 可以使用此方法将空值类型初始化为非空值类型。成员必须按照DynValue的TypeCode所指示的值类型的IDL规范出现的顺序出现在NameDynAnyPairs中,或者它们必须是空字符串。 该操作不会尝试基于成员名称分配成员值。
- 异常
-
TypeMismatch
- 如果传递的序列中提供的成员名称与DynValue的TypeCode中的对应成员名称不匹配,而不是空字符串 -
InvalidValue
- 如果传递的序列具有与DynValue的TypeCode所指示的成员数不符的多个元素
-
-