JavaTM 2 Platform
Standard Ed. 6

org.omg.CORBA.portable
類別 Delegate

java.lang.Object
  繼承者 org.omg.CORBA.portable.Delegate
直接已知子類別:
Delegate

public abstract class Delegate
extends Object

為 org.omg.CORBA.Object 方法特定於供應商的 ORB 實作指定一個可移植的 API。 每個 stub(代理)包含一個 delegate 物件,所有的 org.omg.CORBA.Object 方法都將轉發到該物件。這允許一個供應商的 ORB 所產生的 stub 能與另一個供應商 ORB 中的 delegate 一起工作。

另請參見:
Object

建構子摘要
Delegate()
           
 
方法摘要
abstract  Request create_request(Object obj, Context ctx, String operation, NVList arg_list, NamedValue result)
          創建在動態調用介面中使用的 Request 實例。
abstract  Request create_request(Object obj, Context ctx, String operation, NVList arg_list, NamedValue result, ExceptionList exclist, ContextList ctxlist)
          創建在動態調用介面中使用的 Request 實例。
abstract  Object duplicate(Object obj)
          返回所提供物件參考的復本。
 boolean equals(Object self, Object obj)
          提供覆寫委託 CORBA 物件方法 equals(java.lang.Object obj) 的實作。
 DomainManager[] get_domain_managers(Object self)
          檢索此物件的 DomainManager
abstract  Object get_interface_def(Object self)
          返回一個所提供物件參考的 InterfaceDef。
 Policy get_policy(Object self, int policy_type)
          返回應用於此物件的指定型別的 Policy 物件。
abstract  int hash(Object obj, int max)
          返回此物件參考的內部 ORB 標識符(雜湊碼)。
 int hashCode(Object self)
          提供覆寫委託 CORBA 物件的 hashCode() 方法的實作。
 InputStream invoke(Object self, OutputStream output)
          由 stub 調用,以調用一個操作。
abstract  boolean is_a(Object obj, String repository_id)
          檢查物件參考是否是給定介面的實例。
abstract  boolean is_equivalent(Object obj, Object other)
          確定兩個物件參考是否相等。
 boolean is_local(Object self)
          如果此物件由本地 servant 實作,則返回 true。
abstract  boolean non_existent(Object obj)
          確定物件參考的伺服器物件是否已經被銷毀。
 ORB orb(Object obj)
          提供對與其參數關聯的 orb 的參考。
abstract  void release(Object obj)
          發佈與所提供物件參考關聯的資源。
 void releaseReply(Object self, InputStream input)
          releaseReply 可以由 stub 以可選方式調用,以在解組完成時將應答串流釋放回 ORB。
abstract  Request request(Object obj, String operation)
          創建在動態調用介面 (Dynamic Invocation Interface) 中使用的 Request 實例。
 OutputStream request(Object self, String operation, boolean responseExpected)
          request 由 stub 調用,以獲取用於編組參數的 OutputStream。
 void servant_postinvoke(Object self, ServantObject servant)
          servant_postinvoke() 由本地 stub 在已經對本地 servant 調用該操作之後調用。
 ServantObject servant_preinvoke(Object self, String operation, Class expectedType)
          返回對應該用作此請求的 servant 的 Java 參考。
 Object set_policy_override(Object self, Policy[] policies, SetOverrideType set_add)
          將傳入的策略與它返回的新創建物件參考關聯。
 String toString(Object self)
          提供覆寫委託 CORBA 物件的 toString() 方法的實作。
 
從類別 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

建構子詳細資訊

Delegate

public Delegate()
方法詳細資訊

get_interface_def

public abstract Object get_interface_def(Object self)
返回一個所提供物件參考的 InterfaceDef。

參數:
self - 需要返回 InterfaceDef 的物件參考。
返回:
InterfaceDef

duplicate

public abstract Object duplicate(Object obj)
返回所提供物件參考的復本。

參數:
obj - 需要返回復本的物件參考
返回:
物件參考的復本

release

public abstract void release(Object obj)
發佈與所提供物件參考關聯的資源。

參數:
obj - 需要釋放資源的物件參考

is_a

public abstract boolean is_a(Object obj,
                             String repository_id)
檢查物件參考是否是給定介面的實例。

參數:
obj - 要檢查的物件參考。
repository_id - 要檢查的介面存儲資源庫標識符。
返回:
如果物件參考支持該介面,則返回 true

non_existent

public abstract boolean non_existent(Object obj)
確定物件參考的伺服器物件是否已經被銷毀。

參數:
obj - 委託給此 delegate 的物件參考。
返回:
如果 ORB 確信 server 物件不存在,則返回 true;否則返回 false

is_equivalent

public abstract boolean is_equivalent(Object obj,
                                      Object other)
確定兩個物件參考是否相等。

參數:
obj - 委託給此 delegate 的物件參考。
other - 要檢查相等性的物件參考。
返回:
如果兩個物件是相等的 CORBA,則返回 true。

hash

public abstract int hash(Object obj,
                         int max)
返回此物件參考的內部 ORB 標識符(雜湊碼)。

參數:
obj - 委託給此 delegate 的物件參考。
max - 指示 ORB 返回的雜湊值的上界。
返回:
物件參考的內部 ORB 雜湊標識符

request

public abstract Request request(Object obj,
                                String operation)
創建在動態調用介面 (Dynamic Invocation Interface) 中使用的 Request 實例。

參數:
obj - 委託給此 delegate 的物件參考。
operation - 要使用 Request 實例調用的操作名稱。
返回:
創建的 Request 實例

create_request

public abstract Request create_request(Object obj,
                                       Context ctx,
                                       String operation,
                                       NVList arg_list,
                                       NamedValue result)
創建在動態調用介面中使用的 Request 實例。

參數:
obj - 委託給此 delegate 的物件參考。
ctx - 要使用的上下文。
operation - 要調用的操作的名稱。
arg_list - NVList 形式的操作參數
result - NamedValue 形式的結果容器。
返回:
創建的 Request 物件。

create_request

public abstract Request create_request(Object obj,
                                       Context ctx,
                                       String operation,
                                       NVList arg_list,
                                       NamedValue result,
                                       ExceptionList exclist,
                                       ContextList ctxlist)
創建在動態調用介面中使用的 Request 實例。

參數:
obj - 委託給此 delegate 的物件參考。
ctx - 要使用的上下文。
operation - 要調用的操作的名稱。
arg_list - NVList 形式的操作參數
result - NamedValue 形式的結果容器。
exclist - 操作可以拋出的可能異常列表。
ctxlist - 需要解析並使用 Request 發送的上下文字元串列表。
返回:
創建的 Request 物件。

orb

public ORB orb(Object obj)
提供對與其參數關聯的 orb 的參考。

參數:
obj - 委託給此 delegate 的物件參考。
返回:
關聯的 ORB。
另請參見:
portable 套件中有關未實作特性的註釋

get_policy

public Policy get_policy(Object self,
                         int policy_type)
返回應用於此物件的指定型別的 Policy 物件。

參數:
self - 委託給此 delegate 的物件參考。
policy_type - 要獲取的策略型別。
返回:
policy_type 參數指定的 Policy 物件型別。
拋出:
BAD_PARAM - 策略型別無效時引發,策略型別無效可能是由於此 ORB 不支持指定的型別,或者該型別的 policy 物件沒有與此 Object 關聯。
另請參見:
portable 套件中有關未實作特性的註釋

get_domain_managers

public DomainManager[] get_domain_managers(Object self)
檢索此物件的 DomainManager。這允許管理服務(和應用程序)檢索域管理程序,從而使得安全性和其他策略能應用於作為該域成員的各個物件。

參數:
self - 委託給此 delegate 的物件參考。
返回:
此類別直接封裝的域管理程序列表。至少有一個域管理程序總是返回在列表中,因為預設情況下,每個類別在創建時至少關聯一個域管理程序。
另請參見:
portable 套件中有關未實作特性的註釋

set_policy_override

public Object set_policy_override(Object self,
                                  Policy[] policies,
                                  SetOverrideType set_add)
將傳入的策略與它返回的新創建物件參考關聯。只有某些關於在客戶終端調用操作的策略才可以使用此操作覆寫。試圖覆寫任何其他策略將導致引發 CORBA::NO_PERMISSION 異常。

參數:
self - 委託給此 delegate 的物件參考。
policies - Policy 物件的參考序列。
set_add - 指示是否應該這些策略添加到已經存在於該物件參考中的其他所有覆寫操作上 (ADD_OVERRIDE),或者是否應該將它們添加到一個空的覆寫釋放物件參考 (clean override free object reference)
返回:
帶有關聯新策略的新物件參考。
另請參見:
portable 套件中有關未實作特性的註釋

is_local

public boolean is_local(Object self)
如果此物件由本地 servant 實作,則返回 true。

參數:
self - 委託給此 delegate 的物件參考。
返回:
僅當實作此物件的 servant 位於此 Java VM 時返回 true。如果 servant 不是本地的或 ORB 不支持此特定 servant 的本地 stub,則返回 false。is_local() 的預設行為是返回 false。

servant_preinvoke

public ServantObject servant_preinvoke(Object self,
                                       String operation,
                                       Class expectedType)
返回對應該用作此請求的 servant 的 Java 參考。servant_preinvoke() 由本地 stub 調用。如果返回 ServantObject 物件,則其 servant 欄位已經被設置為預期型別的物件(註:該物件可以是也可以不是實際的 servant 實例)。本地 stub 可以將 servant 欄位強制轉換為所需型別,然後直接調用操作。ServantRequest 物件只對一次調用有效,不能用於多次調用。

參數:
self - 委託給此 delegate 的物件參考。
operation - 套件含操作名稱的字元串。該操作名稱對應於將被編碼入 GIOP 請求的操作名稱。
expectedType - 表示 servant 所需型別的 Class 物件。所需型別是與 stub 介面的操作類別關聯的 Class 物件(例如,對應介面 Foo 的 stub 將傳遞對應於 FooOperation 介面的 Class 物件)。
返回:
一個 ServantObject 物件。如果該方法不希望支持此優化(例如,由於安全性、事務處理等原因),則返回 null 值。如果 servant 不是預期型別,則該方法必須返回 null。

servant_postinvoke

public void servant_postinvoke(Object self,
                               ServantObject servant)
servant_postinvoke() 由本地 stub 在已經對本地 servant 調用該操作之後調用。如果 servant_preinvoke() 返回非 null 值,則必須調用此方法,即使 servant 的方法拋出異常。因此,調用 servant_postinvoke() 應該置於 Java finally 子句中。

參數:
self - 委託給此 delegate 的物件參考。
servant - 從 servant_preinvoke() 方法返回的 ServantObject 實例。

request

public OutputStream request(Object self,
                            String operation,
                            boolean responseExpected)
request 由 stub 調用,以獲取用於編組參數的 OutputStream。stub 必須提供操作名稱,並指示是否希望回應(即是否為單向調用)。

參數:
self - 委託給此 delegate 的物件參考。
operation - 套件含操作名稱的字元串。該操作名稱對應於將被編碼入 GIOP 請求的操作名稱。
responseExpected - 如果該操作是單向操作,則該值為 false;否則為 true。
返回:
OutputStream OutputStream,其中可以編組 request 的參數。
另請參見:
portable 套件中有關未實作特性的註釋

invoke

public InputStream invoke(Object self,
                          OutputStream output)
                   throws ApplicationException,
                          RemarshalException
由 stub 調用,以調用一個操作。stub 提供一個之前通過 request() 調用返回的 OutputStream。invoke 返回包含已編組應答的 InputStream。如果發生異常,則 invoke 可以拋出 ApplicationException 物件,該物件包含可從中解組使用者異常狀態的 InputStream。

參數:
self - 委託給此 delegate 的物件參考。
output - 套件含編組變數的 OutputStream。
返回:
從中可解組應答參數的 InputStream。
拋出:
ApplicationException - 如果實作(對調用)拋出一個異常,而該異常作為其遠端方法定義的一部分而定義,則拋出此異常
RemarshalException - 重新編組失敗時拋出。
另請參見:
portable 套件中有關未實作特性的註釋

releaseReply

public void releaseReply(Object self,
                         InputStream input)
releaseReply 可以由 stub 以可選方式調用,以在解組完成時將應答串流釋放回 ORB。stub 傳遞 invoke() 或 ApplicationException.getInputStream() 返回的 InputStream。也可以將 null 值傳遞給 releaseReply,在這種情況下該方法是無操作 (noop)。

參數:
self - 委託給此 delegate 的物件參考。
input - invoke() 返回的 InputStream。
另請參見:
portable 套件中有關未實作特性的註釋

toString

public String toString(Object self)
提供覆寫委託 CORBA 物件的 toString() 方法的實作。

參數:
self - 委託給此 delegate 的物件參考
返回:
一個 String 物件,表示委託給此 Delegate 物件的物件參考

hashCode

public int hashCode(Object self)
提供覆寫委託 CORBA 物件的 hashCode() 方法的實作。

參數:
self - 委託給此 delegate 的物件參考
返回:
一個 int,表示委託給此 Delegate 物件的物件參考雜湊碼

equals

public boolean equals(Object self,
                      Object obj)
提供覆寫委託 CORBA 物件方法 equals(java.lang.Object obj) 的實作。

參數:
self - 委託給此 delegate 的物件參考
obj - 要與之比較的 Object
返回:
如果 obj 等於 self,則返回 true;否則返回 false

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

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