JavaTM 2 Platform
Standard Ed. 6

org.omg.DynamicAny
類別 _DynAnyFactoryStub

java.lang.Object
  繼承者 org.omg.CORBA.portable.ObjectImpl
      繼承者 org.omg.DynamicAny._DynAnyFactoryStub
所有已實作的介面:
Serializable, Object, IDLEntity, DynAnyFactory, DynAnyFactoryOperations

public class _DynAnyFactoryStub
extends ObjectImpl
implements DynAnyFactory

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 值。


欄位摘要
static Class _opsClass
           
 
建構子摘要
_DynAnyFactoryStub()
           
 
方法摘要
 String[] _ids()
          獲得包含此 ObjectImpl 物件所支持的存儲資源庫標識符的字元串陣列。
 DynAny create_dyn_any_from_type_code(TypeCode type)
          根據 TypeCode 創建 DynAny。
 DynAny create_dyn_any(Any value)
          根據 any 值創建新 DynAny 物件。
 
從類別 org.omg.CORBA.portable.ObjectImpl 繼承的方法
_create_request, _create_request, _duplicate, _get_delegate, _get_domain_managers, _get_interface_def, _get_policy, _hash, _invoke, _is_a, _is_equivalent, _is_local, _non_existent, _orb, _release, _releaseReply, _request, _request, _servant_postinvoke, _servant_preinvoke, _set_delegate, _set_policy_override, equals, hashCode, toString
 
從類別 java.lang.Object 繼承的方法
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
從介面 org.omg.CORBA.Object 繼承的方法
_create_request, _create_request, _duplicate, _get_domain_managers, _get_interface_def, _get_policy, _hash, _is_a, _is_equivalent, _non_existent, _release, _request, _set_policy_override
 

欄位詳細資訊

_opsClass

public static final Class _opsClass
建構子詳細資訊

_DynAnyFactoryStub

public _DynAnyFactoryStub()
方法詳細資訊

create_dyn_any

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

指定者:
介面 DynAnyFactoryOperations 中的 create_dyn_any
拋出:
InconsistentTypeCode - 如果值具有 TCKind 為 tk_Principal、tk_native 或 tk_abstract_interface 的 TypeCode

create_dyn_any_from_type_code

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

指定者:
介面 DynAnyFactoryOperations 中的 create_dyn_any_from_type_code
拋出:
InconsistentTypeCode

_ids

public String[] _ids()
從類別 ObjectImpl 複製的描述
獲得包含此 ObjectImpl 物件所支持的存儲資源庫標識符的字元串陣列。例如,對於 sub,此方法返回所有關於該 stub 所支持的介面的資訊。

指定者:
類別 ObjectImpl 中的 _ids
返回:
ObjectImpl 實例支持的所有存儲資源庫標識符所組成的陣列

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

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