JavaTM 2 Platform
Standard Ed. 5.0

org.omg.DynamicAny
接口 DynValueOperations

所有超级接口:
DynAnyOperations, DynValueCommonOperations
所有已知子接口:
DynValue
所有已知实现类:
_DynValueStub

public interface DynValueOperations
extends DynValueCommonOperations

DynValue 对象支持对 IDL 非装箱 (boxed) 值类型的支持。DynValue 接口可表示 null 和非 null 两种值类型。对于表示非 null 值类型的 DynValue,DynValue 的组件由该值类型的公共和专有成员组成,包括那些按照定义的顺序从具体基本值类型继承的成员。表示 null 值类型的 DynValue 没有组件,其当前位置为 -1。

警告:不加区别地更改专有值类型成员的内容将导致值类型实现因违反内部约束而破坏。提供对专有成员的访问是为了支持 ORB 桥接和调试之类的活动,不应使用该权限任意违反值类型的封装。


方法摘要
 TCKind current_member_kind()
          返回与当前位置的成员关联的 TCKind。
 String current_member_name()
          返回当前位置上的成员的名称。
 NameDynAnyPair[] get_members_as_dyn_any()
          返回一个 NameDynAnyPair 序列,这些 NameDynAnyPair 描述该值类型中每个成员的名称和值。
 NameValuePair[] get_members()
          返回一个 NameValuePair 序列,这些 NameValuePair 描述该值类型的每个成员的名称和值。
 void set_members_as_dyn_any(NameDynAnyPair[] value)
          根据 NameDynAnyPair 序列初始化该值类型的成员。
 void set_members(NameValuePair[] value)
          根据 NameValuePair 序列初始化该值类型的成员。
 
从接口 org.omg.DynamicAny.DynValueCommonOperations 继承的方法
is_null, set_to_null, set_to_value
 
从接口 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 - 如果 DynValue 表示 null 值类型。
InvalidValue - 如果当前位置不指示成员

current_member_kind

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

抛出:
TypeMismatch - 如果 DynValue 表示 null 值类型。
InvalidValue - 如果当前位置不指示成员

get_members

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

抛出:
InvalidValue - 如果此对象表示 null 值类型

set_members

void set_members(NameValuePair[] value)
                 throws TypeMismatch,
                        InvalidValue
根据 NameValuePair 序列初始化该值类型的成员。如果传递的序列长度不为 0,则操作将当前位置设置为 0。如果传递空序列,则将当前位置设置为 -1。使用此方法可以将 null 值类型初始化为非 null 值类型。

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

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

get_members_as_dyn_any

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

抛出:
InvalidValue - 如果此对象表示 null 值类型

set_members_as_dyn_any

void set_members_as_dyn_any(NameDynAnyPair[] value)
                            throws TypeMismatch,
                                   InvalidValue
根据 NameDynAnyPair 序列初始化该值类型的成员。如果传递的序列长度不为 0,则操作将当前位置设置为 0。如果传递空序列,则将当前位置设置为 -1。使用此方法可以将 null 值类型初始化为非 null 值类型。

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

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

JavaTM 2 Platform
Standard Ed. 5.0

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java 2 SDK SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策