JavaTM 2 Platform
Standard Ed. 6

javax.naming
類別 Reference

java.lang.Object
  繼承者 javax.naming.Reference
所有已實作的介面:
Serializable, Cloneable
直接已知子類別:
LinkRef

public class Reference
extends Object
implements Cloneable, Serializable

此類別表示對存在於命名/目錄系統以外的物件的參考。

Reference 提供一種記錄關於沒有直接綁定到命名/目錄系統的物件的位址資訊的方式。

Reference 由有序位址列表和有關將被參考的物件的類別資訊組成。列表中的每個位址都標識一個用於相同概念上的物件的通信端點。“通信端點”是指示如何與物件進行聯繫的資訊。例如,它可以是一個網路位址、本地機器記憶體中的一個位置、同一台機器上的另一個進程等等。列表中位址的順序對於解釋參考的物件處理器而言可能很重要。

出現多個位址的原因有很多,比如重複或者物件在多於一種的通信機制上提供介面。該位址的索引從零開始。

Reference 還包含資訊,該資訊有助於創建此 Reference 所參考的物件的實例。它包含該物件的類別名稱,以及用來創建該物件的處理器的類別名稱和位置。類別處理器位置是以空格分隔的 URL 列表,這些 URL 表示用來載入該處理器的類別路徑。當需要載入處理器類別(或任何它所依賴的類別或資源)時,將(依次)使用每個 URL 來嘗試載入該類別。

Reference 實例與多個執行緒的共時存取不同步。需要共時地存取單個 Reference 的執行緒應該在它們之間實作同步並提供所需的鎖定。

從以下版本開始:
1.3
另請參見:
RefAddr, StringRefAddr, BinaryRefAddr, 序列化表格

欄位摘要
protected  Vector<RefAddr> addrs
          包含此 Reference 中所包含的位址。
protected  String classFactory
          包含用來創建此 Reference 所參考的物件實例的處理器類別名稱。
protected  String classFactoryLocation
          包含處理器類別的位置。
protected  String className
          包含此 Reference 所參考的物件類別的完全限定名稱。
 
建構子摘要
Reference(String className)
          使用類別名稱 'className' 建構對某個物件的新參考。
Reference(String className, RefAddr addr)
          使用類別名稱 'className' 和一個位址建構對某個物件的新參考。
Reference(String className, RefAddr addr, String factory, String factoryLocation)
          使用類別名稱 'className'、物件處理器的類別名稱和位置以及物件的位址創建該對某個物件的新參考。
Reference(String className, String factory, String factoryLocation)
          使用類別名稱 'className' 以及物件處理器的類別名稱和位置創建對某個物件的新參考。
 
方法摘要
 void add(int posn, RefAddr addr)
          將位址添加到位址列表中的索引 posn 處。
 void add(RefAddr addr)
          將位址添加到位址列表的末尾。
 void clear()
          從此參考中刪除所有位址。
 Object clone()
          使用位址的類別名稱列表、類別處理器名稱和類別處理器位置創建此參考的副本。
 boolean equals(Object obj)
          確定 obj 是否是一個與此參考具有相同位址(按相同順序)的參考。
 RefAddr get(int posn)
          檢索索引 posn 處的位址。
 RefAddr get(String addrType)
          檢索位址型別為 'addrType' 的第一個位址。
 Enumeration<RefAddr> getAll()
          返回此索引中的位址所組成的列舉。
 String getClassName()
          檢索此參考所參考物件的類別名稱。
 String getFactoryClassLocation()
          檢索此參考所參考物件的處理器的位置。
 String getFactoryClassName()
          檢索此參考所參考物件的處理器的類別名稱。
 int hashCode()
          計算此參考的雜湊碼。
 Object remove(int posn)
          從位址列表中刪除索引 posn 處的位址。
 int size()
          檢索此參考中的位址數。
 String toString()
          產生此參考的字元串表示形式。
 
從類別 java.lang.Object 繼承的方法
finalize, getClass, notify, notifyAll, wait, wait, wait
 

欄位詳細資訊

className

protected String className
包含此 Reference 所參考的物件類別的完全限定名稱。

另請參見:
Class.getName()

addrs

protected Vector<RefAddr> addrs
包含此 Reference 中所包含的位址。由建構子初始化。


classFactory

protected String classFactory
包含用來創建此 Reference 所參考的物件實例的處理器類別名稱。被初始化為 null。


classFactoryLocation

protected String classFactoryLocation
包含處理器類別的位置。被初始化為 null。

建構子詳細資訊

Reference

public Reference(String className)
使用類別名稱 'className' 建構對某個物件的新參考。類別處理器和類別處理器位置都被設置為 null。新創建的參考不包含任何位址。

參數:
className - 此參考所參考物件的非 null 類別名稱。

Reference

public Reference(String className,
                 RefAddr addr)
使用類別名稱 'className' 和一個位址建構對某個物件的新參考。類別處理器和類別處理器位置都被設置為 null。

參數:
className - 此參考所參考物件的非 null 類別名稱。
addr - 物件的非 null 位址。

Reference

public Reference(String className,
                 String factory,
                 String factoryLocation)
使用類別名稱 'className' 以及物件處理器的類別名稱和位置創建對某個物件的新參考。

參數:
className - 此參考所參考物件的非 null 類別名稱。
factory - 物件處理器的類別名稱(可能為 null)。
factoryLocation - 載入處理器的、可能為 null 的位置(例如 URL)
另請參見:
ObjectFactory, NamingManager.getObjectInstance(java.lang.Object, javax.naming.Name, javax.naming.Context, java.util.Hashtable)

Reference

public Reference(String className,
                 RefAddr addr,
                 String factory,
                 String factoryLocation)
使用類別名稱 'className'、物件處理器的類別名稱和位置以及物件的位址創建該對某個物件的新參考。

參數:
className - 此參考所參考物件的非 null 類別名稱。
factory - 物件處理器的類別名稱(可能為 null)。
factoryLocation - 載入處理器的、可能為 null 的位置(例如 URL)
addr - 物件的非 null 位址。
另請參見:
ObjectFactory, NamingManager.getObjectInstance(java.lang.Object, javax.naming.Name, javax.naming.Context, java.util.Hashtable)
方法詳細資訊

getClassName

public String getClassName()
檢索此參考所參考物件的類別名稱。

返回:
該物件的非 null 完全限定類別名稱。(例如 "java.lang.String")

getFactoryClassName

public String getFactoryClassName()
檢索此參考所參考物件的處理器的類別名稱。

返回:
該處理器的完全限定類別名稱(可能為 null)。(例如 "java.lang.String")

getFactoryClassLocation

public String getFactoryClassLocation()
檢索此參考所參考物件的處理器的位置。如果是一個程式碼基,則它是一個以空格分隔的有序 URL 列表,該列表列出了應該載入處理器類別定義的位置。

返回:
包含用來載入處理器類別的位址的字元串(可能為 null)。

get

public RefAddr get(String addrType)
檢索位址型別為 'addrType' 的第一個位址。String.compareTo() 用於測試位址型別的相等性。

參數:
addrType - 用來尋找位址的非 null 位址型別。
返回:
此參考中位址型別為 'addrType 的位址;如果不存在這樣的位址,則返回 null。

get

public RefAddr get(int posn)
檢索索引 posn 處的位址。

參數:
posn - 要檢索的位址的索引。
返回:
索引 posn(從 0 開始)處的位址。必須在範圍 [0,getAddressCount()) 內。
拋出:
ArrayIndexOutOfBoundsException - 如果 posn 不在指定的範圍內。

getAll

public Enumeration<RefAddr> getAll()
返回此索引中的位址所組成的列舉。當在此參考中添加、更改或移除位址時,對此列舉的影響是不確定的。

返回:
此參考中的位址 (RefAddr) 所組成的非 null 列舉。如果此索引中沒有任何位址,則返回一個不帶任何元素的列舉。

size

public int size()
檢索此參考中的位址數。

返回:
此參考中的非負位址數。

add

public void add(RefAddr addr)
將位址添加到位址列表的末尾。

參數:
addr - 要添加的非 null 位址。

add

public void add(int posn,
                RefAddr addr)
將位址添加到位址列表中的索引 posn 處。索引 posn 或大於該索引的所有位址都將在該列表中上移(遠離索引 0)一位。

參數:
posn - 列表中要插入 addr 的索引(從 0 開始)。
addr - 要插入的非 null 位址。
拋出:
ArrayIndexOutOfBoundsException - 如果 posn 並不在指定的範圍內。

remove

public Object remove(int posn)
從位址列表中刪除索引 posn 處的位址。索引大於 posn 的所有位址都將在該列表中下移(朝向索引 0)一位。

參數:
posn - 要刪除的位址的索引(從 0 開始)。
返回:
移除的位址。
拋出:
ArrayIndexOutOfBoundsException - 如果 posn 不在指定的範圍內。

clear

public void clear()
從此參考中刪除所有位址。


equals

public boolean equals(Object obj)
確定 obj 是否是一個與此參考具有相同位址(按相同順序)的參考。可以使用 RefAddr.equals() 檢查該位址。除了具有相同位址之外,Reference 還應該與此參考具有相同的類別名稱。不檢查類別處理器和類別處理器位置。如果 obj 為 null 或者不是一個 Reference 實例,則返回 null。

覆寫:
類別 Object 中的 equals
參數:
obj - 要檢查的物件(可能為 null)。
返回:
如果 obj 等於此參考,則返回 true,否則返回 false。
另請參見:
Object.hashCode(), Hashtable

hashCode

public int hashCode()
計算此參考的雜湊碼。該雜湊碼是其位址的雜湊瑪的總和。

覆寫:
類別 Object 中的 hashCode
返回:
此參考 int 形式的雜湊碼。
另請參見:
Object.equals(java.lang.Object), Hashtable

toString

public String toString()
產生此參考的字元串表示形式。該字元串由此參考所參考的類別名稱及其每個位址的字元串表示形式組成。此表示形式只用於顯示,不會被解析。

覆寫:
類別 Object 中的 toString
返回:
此參考的非 null 字元串表示形式。

clone

public Object clone()
使用位址的類別名稱列表、類別處理器名稱和類別處理器位置創建此參考的副本。對新創建副本的更改不會影響此 Reference,反之亦然。

覆寫:
類別 Object 中的 clone
返回:
此實例的一個副本。
另請參見:
Cloneable

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

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