JavaTM 2 Platform
Standard Ed. 6

org.omg.DynamicAny
介面 DynAnyFactoryOperations

所有已知子介面:
DynAnyFactory
所有已知實作類別:
_DynAnyFactoryStub

public interface DynAnyFactoryOperations

DynAny 物件可以通過調用 DynAnyFactory 物件上的操作來創建。一般來說,只有兩種創建 DynAny 物件的方式:

已建構的 DynAny 物件支持允許創建新 DynAny 物件的操作,可在這些物件中封裝對某個成分值的存取權限。DynAny 物件還支持用於創建新 DynAny 物件的複製操作。通過調用 ORB.resolve_initial_references() 並將標識符參數設置為字元串常數 "DynAnyFactory",可以獲取 DynAnyFactory 物件的參考。

動態解釋 any 的第一步通常是使用 create_dyn_any() 創建 DynAny 物件。所得 DynAny 物件參考集中於 DynFixed、DynStruct、DynSequence、DynArray、DynUnion、DynEnum 或 DynValue 這幾種物件參考,因 any 的型別而異。

動態創建 any 需要使用 create_dyn_any_from_type_code() 創建 DynAny 物件,並傳遞與要創建的值關聯的 TypeCode。返回的參考將集中為復合型別之一,如 DynStruct(如果合適)。然後,通過在所得物件上調用操作來初始化值。最後,可調用 to_any 操作根據已建構的 DynAny 創建 any 值。


方法摘要
 DynAny create_dyn_any_from_type_code(TypeCode type)
          根據 TypeCode 創建 DynAny。
 DynAny create_dyn_any(Any value)
          根據 any 值創建新 DynAny 物件。
 

方法詳細資訊

create_dyn_any

DynAny create_dyn_any(Any value)
                      throws InconsistentTypeCode
根據 any 值創建新 DynAny 物件。將與 any 值關聯的 TypeCode 的副本分派給所得 DynAny 物件。與 DynAny 物件關聯的值是原始 any 中值的副本。如果傳遞的值具有元件,則將已創建的 DynAny 的當前位置設置為 0;否則設置為 -1。

拋出:
InconsistentTypeCode - 如果值具有 TCKind 為 tk_Principal、tk_native 或 tk_abstract_interface 的 TypeCode

create_dyn_any_from_type_code

DynAny create_dyn_any_from_type_code(TypeCode type)
                                     throws InconsistentTypeCode
根據 TypeCode 創建 DynAny。根據 TypeCode 的不同,創建的物件可能為 DynAny 型別,也可能為其派生型別之一(如 DynStruct)。返回的參考可以集中為派生型別。無論是哪種情況,根據 TypeCode 建構的 DynAny 都具有初始預設值。基本型別的預設值如下: 對於復合型別,創建相應 DynAny 時預設值的分派如下:

拋出:
InconsistentTypeCode

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

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