JavaTM 2 Platform
Standard Ed. 6

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. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only