JavaTM 2 Platform
Standard Ed. 6

java.beans
類別 Encoder

java.lang.Object
  繼承者 java.beans.Encoder
直接已知子類別:
XMLEncoder

public class Encoder
extends Object

Encoder 是這樣的類別,它可用於創建根據其公共 API 對 JavaBeans 集合狀態進行編碼的檔案或串流。Encoder 結合其持久委託,負責將物件圖形拆分成一系列可用於創建它的 StatementsExpression。子類別通常使用某種可讀形式(比如 Java 源程式碼或 XML)提供這些表達式的語法。

從以下版本開始:
1.4

建構子摘要
Encoder()
           
 
方法摘要
 Object get(Object oldInstance)
          在由此串流創建的環境中返回 oldInstance 的一個實驗值。
 ExceptionListener getExceptionListener()
          獲得此串流的異常處理程序。
 PersistenceDelegate getPersistenceDelegate(Class<?> type)
          返回給定型別的持久委託。
 Object remove(Object oldInstance)
          移除此實例的條目,返回舊條目。
 void setExceptionListener(ExceptionListener exceptionListener)
          將此串流的異常處理程序設置為 exceptionListener
 void setPersistenceDelegate(Class<?> type, PersistenceDelegate persistenceDelegate)
          將與此 type 相關聯的持久委託設置為 persistenceDelegate
 void writeExpression(Expression oldExp)
          該實作首先查看使用此值的表達式是否已經被寫入。
protected  void writeObject(Object o)
          將指定物件寫入輸出串流中。
 void writeStatement(Statement oldStm)
          將語句 oldStm 寫入串流中。
 
從類別 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

建構子詳細資訊

Encoder

public Encoder()
方法詳細資訊

writeObject

protected void writeObject(Object o)
將指定物件寫入輸出串流中。序列化的形式將表示一系列的表達式,在讀取輸入串流時,這種形式的組合效果將創建等效的物件。預設情況下,假定物件是具有 null 建構子的 JavaBean,其狀態通過 Introspector 返回的 "setter" 和 "getter" 方法的比對對來定義。

參數:
o - 要寫入串流中的物件。
另請參見:
XMLDecoder.readObject()

setExceptionListener

public void setExceptionListener(ExceptionListener exceptionListener)
將此串流的異常處理程序設置為 exceptionListener。當此串流捕獲可恢復的異常時,異常處理程序會獲得通知。

參數:
exceptionListener - 此串流的異常處理程序;如果該參數為 null,則使用預設異常偵聽器。
另請參見:
getExceptionListener()

getExceptionListener

public ExceptionListener getExceptionListener()
獲得此串流的異常處理程序。

返回:
此串流的異常處理程序;如果沒有顯式設置此處理程序,則返回預設異常偵聽器。
另請參見:
setExceptionListener(java.beans.ExceptionListener)

getPersistenceDelegate

public PersistenceDelegate getPersistenceDelegate(Class<?> type)
返回給定型別的持久委託。持久委託是通過按順序應用以下規則來計算的:

setPersistenceDelegate

public void setPersistenceDelegate(Class<?> type,
                                   PersistenceDelegate persistenceDelegate)
將與此 type 相關聯的持久委託設置為 persistenceDelegate

參數:
type - 對其應用 persistenceDelegate 的物件的類別。
persistenceDelegate - 用於 type 的實例的持久委託。
另請參見:
getPersistenceDelegate(java.lang.Class), Introspector.getBeanInfo(java.lang.Class), BeanInfo.getBeanDescriptor()

remove

public Object remove(Object oldInstance)
移除此實例的條目,返回舊條目。

參數:
oldInstance - 應該移除的條目。
返回:
被移除的條目。
另請參見:
get(java.lang.Object)

get

public Object get(Object oldInstance)
在由此串流創建的環境中返回 oldInstance 的一個實驗值。持久委託可以使用其 mutatesTo 方法來確定是否可以初始化此值,以便輸出時形成等效的物件,或者確定新物件是否必須被重新實例化。如果串流未發現此值,則返回 null。

參數:
oldInstance - 要尋找的實例。
返回:
該物件,如果以前沒有看見該物件,則返回 null。

writeStatement

public void writeStatement(Statement oldStm)
將語句 oldStm 寫入串流中。oldStm 應該完全根據調用者環境寫入,也就是說,目標和所有參數都應該是將被寫入的物件圖形的一部分。這些表達式表示一系列的「發生了什麼」表達式,告知輸出串流如何產生類似源物件圖形的物件圖形。

此方法的實作將產生另一個表達式,它表示讀取串流時將存在的環境中的同一表達式。通過在目標和所有參數上調用 writeObject 並使用結果建構一個新的表達式可以做到這一點。

參數:
oldStm - 要寫入串流中的表達式。

writeExpression

public void writeExpression(Expression oldExp)
該實作首先查看使用此值的表達式是否已經被寫入。如果尚未寫入,則使用與 writeStatement 相同的過程複製該表達式,通過調用 writeObject 方法使表達式的值與複製表達式的值一致。

參數:
oldExp - 要寫入串流中的表達式。

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

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