JavaTM 2 Platform
Standard Ed. 6

java.beans.beancontext
類別 BeanContextSupport

java.lang.Object
  繼承者 java.beans.beancontext.BeanContextChildSupport
      繼承者 java.beans.beancontext.BeanContextSupport
所有已實作的介面:
BeanContext, BeanContextChild, BeanContextServiceRevokedListener, BeanContextServicesListener, DesignMode, PropertyChangeListener, VetoableChangeListener, Visibility, Serializable, Iterable, Collection, EventListener
直接已知子類別:
BeanContextServicesSupport

public class BeanContextSupport
extends BeanContextChildSupport
implements BeanContext, Serializable, PropertyChangeListener, VetoableChangeListener

此說明器類別提供 java.beans.beancontext.BeanContext 介面的實用工具實作。

因為此類別直接實作 BeanContext 介面,所以可以通過創建此實作的子類別來使用該類別,或者由另一個實例對此類別實例的特別委託來使用該類別。

從以下版本開始:
1.2
另請參見:
序列化表格

巢狀類別摘要
protected  class BeanContextSupport.BCSChild
           
protected static class BeanContextSupport.BCSIterator
          受保護的最終子類別,它封裝一個迭代器但實作無操作 remove() 方法。
 
欄位摘要
protected  ArrayList bcmListeners
           protected ArrayList bcmListeners 欄位的所有存取在該物件上都將是同步的。
protected  HashMap children
           protected HashMap children 欄位的所有存取在該物件上都將是同步的。
protected  boolean designTime
          指示此物件目前是否處於設計時間網要下的 boolean 值。
protected  Locale locale
          此 BeanContext 的當前語言環境。
protected  boolean okToUseGui
          指示此實例現在能否呈現 GUI 的 boolean 值。
 
從類別 java.beans.beancontext.BeanContextChildSupport 繼承的欄位
beanContext, beanContextChildPeer, pcSupport, rejectedSetBCOnce, vcSupport
 
從介面 java.beans.beancontext.BeanContext 繼承的欄位
globalHierarchyLock
 
從介面 java.beans.DesignMode 繼承的欄位
PROPERTYNAME
 
建構子摘要
BeanContextSupport()
          創建不是另一個物件代理的實例。
BeanContextSupport(BeanContext peer)
          使用預設語言環境創建一個實例
BeanContextSupport(BeanContext peer, Locale lcle)
          使用指定語言環境創建一個實例。
BeanContextSupport(BeanContext peer, Locale lcle, boolean dtime)
          使用指定 Locale 和設計網要創建一個實例。
BeanContextSupport(BeanContext peer, Locale lcle, boolean dTime, boolean visible)
          建構一個 BeanContextSupport 實例。
 
方法摘要
 boolean add(Object targetChild)
          在此 BeanContext 中添加/巢狀一個子級。
 boolean addAll(Collection c)
          將 Collection 添加到 Children(不受支持的)實作的集合,這些實作在層次結構鎖定和 "children" 受保護欄位上必須是同步的
 void addBeanContextMembershipListener(BeanContextMembershipListener bcml)
          添加一個 BeanContextMembershipListener。
 boolean avoidingGui()
          用於確定 BeanContext 子級是否避免使用其 GUI。
protected  Iterator bcsChildren()
          返回此 BeanContext 所有子級的迭代器。
protected  void bcsPreDeserializationHook(ObjectInputStream ois)
          在調用 defaultReadObject() 之後,但在反序列化任意子級之前,由 readObject 調用。
protected  void bcsPreSerializationHook(ObjectOutputStream oos)
          在調用 defaultWriteObject() 之後,但在序列化當前可序列化子級之前,由 writeObject 調用。
protected  void childDeserializedHook(Object child, BeanContextSupport.BCSChild bcsc)
          由 readObject 利用新近反序列化的子級和 BCSChild 調用。
protected  void childJustAddedHook(Object child, BeanContextSupport.BCSChild bcsc)
          子類別可以覆寫此方法,以便在已經添加子物件之後,且在發生事件通知之前,只擴展 add() 語義。
protected  void childJustRemovedHook(Object child, BeanContextSupport.BCSChild bcsc)
          子類別可以覆寫此方法,以便在已經移除子物件之後,且在發生事件通知之前,只擴展 remove() 語義。
protected static boolean classEquals(Class first, Class second)
          測試以查看兩個類別物件或其名稱是否相等。
 void clear()
          清除子物件(不受支持的)實作,這些實作在分層結構鎖定和 "children" 受保護欄位上必須是同步的
 boolean contains(Object o)
          確定指定物件當前是否是此 BeanContext 的子級。
 boolean containsAll(Collection c)
          測試以查看指定 Collection 中的所有物件是否是此 BeanContext 的子物件。
 boolean containsKey(Object o)
          確定指定物件當前是否是此 BeanContext 的子級。
protected  Object[] copyChildren()
          獲得此 BeanContext 子級的副本。
protected  BeanContextSupport.BCSChild createBCSChild(Object targetChild, Object peer)
           子類別可以覆寫此方法來插入自己的 Child 的子類別,而不必覆寫 add() 或其他將子級添加到集合中的 Collection 方法。
protected  void deserialize(ObjectInputStream ois, Collection coll)
          readObject 使用此方法來反序列化一個 collection。
 void dontUseGui()
          通知此實例它可以不再呈現一個 GUI。
protected  void fireChildrenAdded(BeanContextMembershipEvent bcme)
          在 BeanContextMembershipListener 介面上觸發一個 BeanContextshipEvent。
protected  void fireChildrenRemoved(BeanContextMembershipEvent bcme)
          在 BeanContextMembershipListener 介面上觸發一個 BeanContextshipEvent。
 BeanContext getBeanContextPeer()
          獲得 BeanContext 的實例,此物件將為其提供實作。
protected static BeanContextChild getChildBeanContextChild(Object child)
          與指定 Child 相關聯的 BeanContextChild(如果有)。
protected static BeanContextMembershipListener getChildBeanContextMembershipListener(Object child)
          與指定 Child 相關聯的 BeanContextMembershipListener(如果有)。
protected static PropertyChangeListener getChildPropertyChangeListener(Object child)
          與指定 Child 相關聯的 PropertyChangeListener(如果有)
protected static Serializable getChildSerializable(Object child)
          獲得與指定 Child 相關聯的 Serializable(如果有)
protected static VetoableChangeListener getChildVetoableChangeListener(Object child)
          與指定 Child 相關聯的 VetoableChangeListener(如果有)。
protected static Visibility getChildVisibility(Object child)
          獲得與指定子級相關聯的 Component(如果有)。
 Locale getLocale()
          獲得此 BeanContext 的語言環境。
 URL getResource(String name, BeanContextChild bcc)
          與 java.lang.ClassLoader.getResource() 類似,此方法允許 BeanContext 實作協調子 Component 和基礎 ClassLoader 之間的行為。
 InputStream getResourceAsStream(String name, BeanContextChild bcc)
          與 java.lang.ClassLoader.getResourceAsStream() 類似,此方法允許 BeanContext 實作協調子 Component 和基礎 ClassLoader 之間的行為。
protected  void initialize()
          從建構子和 readObject 調用的受保護方法,以初始化 BeanContextSupport 實例的瞬態。
 Object instantiateChild(String beanName)
           instantiateChild 方法是 BeanContext 中的便捷鉤子 (hook),用來簡化將巢狀的 Bean 實例化為 BeanContext 這項任務。
 boolean isDesignTime()
          報告此物件當前是否處於設計時間網要下。
 boolean isEmpty()
          報告此 BeanContext 是否為空。
 boolean isSerializing()
          此 BeanContext 正處於序列化過程中嗎?
 Iterator iterator()
          獲得當前巢狀在此 BeanContext 中的所有 JavaBean 或 BeanContext 實例。
 boolean needsGui()
           此方法通常從環境中調用,以便確定實作者是否「需要」 GUI。
 void okToUseGui()
          通知此實例它現在可以呈現一個 GUI。
 void propertyChange(PropertyChangeEvent pce)
          子類別可以封裝此方法來監視子類別屬性的更改。
 void readChildren(ObjectInputStream ois)
          在將此類別的實例用作 BeanContext 協議(及其子協議)實作的代理時,在反序列化期間存在一個「先有雞還是先有蛋」的問題。
 boolean remove(Object targetChild)
          從此 BeanContext 中移除一個子物件。
protected  boolean remove(Object targetChild, boolean callChildSetBC)
          當由意外的 setBeanContextremove() 調用導致移除時使用的內部移除方法。
 boolean removeAll(Collection c)
          移除所有指定 Children(不受支持的)實作,這些實作在層次結構鎖定和 "children" 受保護欄位上必須是同步的
 void removeBeanContextMembershipListener(BeanContextMembershipListener bcml)
          移除一個 BeanContextMembershipListener。
 boolean retainAll(Collection c)
          僅保留指定子物件(不受支持的)實作,這些實作在層次結構鎖定和 "children" 受保護欄位上必須是同步的
protected  void serialize(ObjectOutputStream oos, Collection coll)
          writeObject 使用此方法來序列化一個 Collection。
 void setDesignTime(boolean dTime)
          為此 BeanContext 設置新的設計時間值。
 void setLocale(Locale newLocale)
          設置此 BeanContext 的語言環境。
 int size()
          獲得當前巢狀在此 BeanContext 中的子級數。
 Object[] toArray()
          獲得當前巢狀在此 BeanContext 中的所有 JavaBean 或 BeanContext 實例。
 Object[] toArray(Object[] arry)
          獲得包含與陣列中所包含型別比對的此 BeanContext 的所有子級的陣列。
protected  boolean validatePendingAdd(Object targetChild)
           此類別的子類別可以覆寫或封裝此方法,以便為 BeanContext 添加有效行為,從而能在將子物件添加到 BeanContext 之前立即檢查它們。
protected  boolean validatePendingRemove(Object targetChild)
           此類別的子類別可以覆寫或封裝此方法,以便為 BeanContext 添加有效行為,從而能在將子物件從 BeanContext 中移除之前立即檢查它們。
 void vetoableChange(PropertyChangeEvent pce)
          子類別可以封裝此方法來監視子類別屬性的更改。
 void writeChildren(ObjectOutputStream oos)
          用於序列化此 BeanContext 的所有子級。
 
從類別 java.beans.beancontext.BeanContextChildSupport 繼承的方法
addPropertyChangeListener, addVetoableChangeListener, firePropertyChange, fireVetoableChange, getBeanContext, getBeanContextChildPeer, initializeBeanContextResources, isDelegated, releaseBeanContextResources, removePropertyChangeListener, removeVetoableChangeListener, serviceAvailable, serviceRevoked, setBeanContext, validatePendingSetBeanContext
 
從類別 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
從介面 java.beans.beancontext.BeanContextChild 繼承的方法
addPropertyChangeListener, addVetoableChangeListener, getBeanContext, removePropertyChangeListener, removeVetoableChangeListener, setBeanContext
 
從介面 java.util.Collection 繼承的方法
equals, hashCode
 

欄位詳細資訊

children

protected transient HashMap children
protected HashMap children 欄位的所有存取在該物件上都將是同步的。


bcmListeners

protected transient ArrayList bcmListeners
protected ArrayList bcmListeners 欄位的所有存取在該物件上都將是同步的。


locale

protected Locale locale
此 BeanContext 的當前語言環境。


okToUseGui

protected boolean okToUseGui
指示此實例現在能否呈現 GUI 的 boolean 值。


designTime

protected boolean designTime
指示此物件目前是否處於設計時間網要下的 boolean 值。

建構子詳細資訊

BeanContextSupport

public BeanContextSupport(BeanContext peer,
                          Locale lcle,
                          boolean dTime,
                          boolean visible)
建構一個 BeanContextSupport 實例。

參數:
peer - 將為其提供實作的同位體 BeanContext,如果此物件是它自己的同位體,則該參數為 null
lcle - 此 BeanContext 的當前 Locale。如果 lclenull,則預設語言環境被分派給 BeanContext 實例。
dTime - 初始狀態,如果在設計網要下,則該參數為 true,如果在運行狀態下,則該參數為 false
visible - 初始可見性。
另請參見:
Locale.getDefault(), Locale.setDefault(java.util.Locale)

BeanContextSupport

public BeanContextSupport(BeanContext peer,
                          Locale lcle,
                          boolean dtime)
使用指定 Locale 和設計網要創建一個實例。

參數:
peer - 將為其提供實作的同位體 BeanContext,如果此物件是它自己的同位體,則該參數為 null
lcle - 此 BeanContext 的當前 Locale。如果 lclenull,則預設語言環境被分派給 BeanContext 實例。
dtime - 初始狀態,如果在設計網要下,則該參數為 true,如果在運行狀態下,則該參數為 false
另請參見:
Locale.getDefault(), Locale.setDefault(java.util.Locale)

BeanContextSupport

public BeanContextSupport(BeanContext peer,
                          Locale lcle)
使用指定語言環境創建一個實例。

參數:
peer - 將為其提供實作的同位體 BeanContext,如果此物件是它自己的同位體,則該參數為 null
lcle - 此 BeanContext 的當前 Locale。如果 lclenull,則預設語言環境被分派給 BeanContext 實例。
另請參見:
Locale.getDefault(), Locale.setDefault(java.util.Locale)

BeanContextSupport

public BeanContextSupport(BeanContext peer)
使用預設語言環境創建一個實例

參數:
peer - 將為其提供實作的同位體 BeanContext,如果此物件是它自己的同位體,則該參數為 null

BeanContextSupport

public BeanContextSupport()
創建不是另一個物件代理的實例。

方法詳細資訊

getBeanContextPeer

public BeanContext getBeanContextPeer()
獲得 BeanContext 的實例,此物件將為其提供實作。

返回:
BeanContext 實例

instantiateChild

public Object instantiateChild(String beanName)
                        throws IOException,
                               ClassNotFoundException

instantiateChild 方法是 BeanContext 中的便捷鉤子 (hook),用來簡化將巢狀的 Bean 實例化為 BeanContext 這項任務。

beanName 參數的語義由 java.beans.Beans.instantate 定義。

指定者:
介面 BeanContext 中的 instantiateChild
參數:
beanName - 要在此 BeanContext 中實例化的 Bean 的名稱
返回:
新物件
拋出:
IOException - 如果在該 bean 正被反序列化時發生 I/O 錯誤
ClassNotFoundException - 如果沒有找到由 beanName 參數標識的類別

size

public int size()
獲得當前巢狀在此 BeanContext 中的子級數。

指定者:
介面 Collection 中的 size
返回:
子級數

isEmpty

public boolean isEmpty()
報告此 BeanContext 是否為空。當 BeanContext 不包含任何巢狀子級時,可認為它為空。

指定者:
介面 Collection 中的 isEmpty
返回:
如果沒有子級

contains

public boolean contains(Object o)
確定指定物件當前是否是此 BeanContext 的子級。

指定者:
介面 Collection 中的 contains
參數:
o - 相關 Object
返回:
如果此物件是一個子物件

containsKey

public boolean containsKey(Object o)
確定指定物件當前是否是此 BeanContext 的子級。

參數:
o - 相關 Object
返回:
如果此物件是一個子物件

iterator

public Iterator iterator()
獲得當前巢狀在此 BeanContext 中的所有 JavaBean 或 BeanContext 實例。

指定者:
介面 Iterable 中的 iterator
指定者:
介面 Collection 中的 iterator
返回:
巢狀子級的 Iterator

toArray

public Object[] toArray()
獲得當前巢狀在此 BeanContext 中的所有 JavaBean 或 BeanContext 實例。

指定者:
介面 Collection 中的 toArray
返回:
包含此 collection 中所有元素的陣列

toArray

public Object[] toArray(Object[] arry)
獲得包含與陣列中所包含型別比對的此 BeanContext 的所有子級的陣列。

指定者:
介面 Collection 中的 toArray
參數:
arry - 感興趣的物件型別陣列。
返回:
子級的陣列

createBCSChild

protected BeanContextSupport.BCSChild createBCSChild(Object targetChild,
                                                     Object peer)

子類別可以覆寫此方法來插入自己的 Child 的子類別,而不必覆寫 add() 或其他將子級添加到集合中的 Collection 方法。

參數:
targetChild - 要創建自己的 Child 的子級
peer - 同位體,如果 tragetChild 和同位體通過實作 BeanContextProxy 建立聯繫

add

public boolean add(Object targetChild)
在此 BeanContext 中添加/巢狀一個子級。

作為 java.beans.Beans.instantiate() 的副作用調用。如果子物件對於添加無效,則此方法拋出 IllegalStateException。

指定者:
介面 Collection 中的 add
參數:
targetChild - 巢狀在此 BeanContext 中的子物件
返回:
如果成功添加了子物件,則返回 true。
另請參見:
validatePendingAdd(java.lang.Object)

remove

public boolean remove(Object targetChild)
從此 BeanContext 中移除一個子物件。如果子物件不適用於添加,則此方法拋出 IllegalStateException。

指定者:
介面 Collection 中的 remove
參數:
targetChild - 要移除的子物件
返回:
如果此調用將移除一個元素,則返回 true
另請參見:
validatePendingRemove(java.lang.Object)

remove

protected boolean remove(Object targetChild,
                         boolean callChildSetBC)
當由意外的 setBeanContextremove() 調用導致移除時使用的內部移除方法。

參數:
targetChild - 要移除的 JavaBean、BeanContext 或 Object
callChildSetBC - 用於指示應該通知子物件它不再巢狀在此 BeanContext 中。

containsAll

public boolean containsAll(Collection c)
測試以查看指定 Collection 中的所有物件是否是此 BeanContext 的子物件。

指定者:
介面 Collection 中的 containsAll
參數:
c - 指定的 Collection
返回:
如果 collection 中的所有物件都是此 BeanContext 的子物件,則返回 true,否則返回 false。
另請參見:
Collection.contains(Object)

addAll

public boolean addAll(Collection c)
將 Collection 添加到 Children(不受支持的)實作的集合,這些實作在層次結構鎖定和 "children" 受保護欄位上必須是同步的

指定者:
介面 Collection 中的 addAll
參數:
c - 套件含要添加到此 collection 的元素的 collection
返回:
如果此 collection 由於調用而發生更改,則返回 true
拋出:
UnsupportedOperationException
另請參見:
Collection.add(Object)

removeAll

public boolean removeAll(Collection c)
移除所有指定 Children(不受支持的)實作,這些實作在層次結構鎖定和 "children" 受保護欄位上必須是同步的

指定者:
介面 Collection 中的 removeAll
參數:
c - 辦好要從此 collection 移除的元素的 collection
返回:
如果此 collection 由於調用而發生更改,則返回 true
拋出:
UnsupportedOperationException
另請參見:
Collection.remove(Object), Collection.contains(Object)

retainAll

public boolean retainAll(Collection c)
僅保留指定子物件(不受支持的)實作,這些實作在層次結構鎖定和 "children" 受保護欄位上必須是同步的

指定者:
介面 Collection 中的 retainAll
參數:
c - 套件含保留在此 collection 中的元素的 collection
返回:
如果此 collection 由於調用而發生更改,則返回 true
拋出:
UnsupportedOperationException
另請參見:
Collection.remove(Object), Collection.contains(Object)

clear

public void clear()
清除子物件(不受支持的)實作,這些實作在分層結構鎖定和 "children" 受保護欄位上必須是同步的

指定者:
介面 Collection 中的 clear
拋出:
UnsupportedOperationException

addBeanContextMembershipListener

public void addBeanContextMembershipListener(BeanContextMembershipListener bcml)
添加一個 BeanContextMembershipListener。

指定者:
介面 BeanContext 中的 addBeanContextMembershipListener
參數:
bcml - 要添加的 BeanContextMembershipListener
拋出:
NullPointerException

removeBeanContextMembershipListener

public void removeBeanContextMembershipListener(BeanContextMembershipListener bcml)
移除一個 BeanContextMembershipListener。

指定者:
介面 BeanContext 中的 removeBeanContextMembershipListener
參數:
bcml - 要移除的 BeanContextMembershipListener
拋出:
NullPointerException

getResourceAsStream

public InputStream getResourceAsStream(String name,
                                       BeanContextChild bcc)
從介面 BeanContext 複製的描述
java.lang.ClassLoader.getResourceAsStream() 類似,此方法允許 BeanContext 實作協調子 Component 和基礎 ClassLoader 之間的行為。

指定者:
介面 BeanContext 中的 getResourceAsStream
參數:
name - 所需資源的名稱。
bcc - 做出請求的子物件。
返回:
以 InputStream 形式返回所需的資源
拋出:
NullPointerException

getResource

public URL getResource(String name,
                       BeanContextChild bcc)
從介面 BeanContext 複製的描述
java.lang.ClassLoader.getResource() 類似,此方法允許 BeanContext 實作協調子 Component 和基礎 ClassLoader 之間的行為。

指定者:
介面 BeanContext 中的 getResource
參數:
name - 所需資源的名稱。
bcc - 做出請求的子物件。
返回:
以 InputStream 形式返回所需的資源

setDesignTime

public void setDesignTime(boolean dTime)
為此 BeanContext 設置新的設計時間值。

指定者:
介面 DesignMode 中的 setDesignTime
參數:
新的 - designTime 值
另請參見:
BeanContext, BeanContextMembershipListener, PropertyChangeEvent

isDesignTime

public boolean isDesignTime()
報告此物件當前是否處於設計時間網要下。

指定者:
介面 DesignMode 中的 isDesignTime
返回:
如果處於設計時間網要下,則返回 true,否則返回 false

setLocale

public void setLocale(Locale newLocale)
               throws PropertyVetoException
設置此 BeanContext 的語言環境。

參數:
newLocale - 新的語言環境。如果 newLocale 為 null,則此方法調用將無效。
拋出:
PropertyVetoException - 如果拒絕新值。

getLocale

public Locale getLocale()
獲得此 BeanContext 的語言環境。

返回:
BeanContext 的當前 Locale

needsGui

public boolean needsGui()

此方法通常從環境中調用,以便確定實作者是否「需要」 GUI。

這裡使用的演算法測試 BeanContextPeer 及其當前子級,以確定它們是 Container 還是 Component,或者確定它們是否實作 Visibility 並返回 needsGui() == true。

指定者:
介面 Visibility 中的 needsGui
返回:
如果實作者需要一個 GUI,則返回 true

dontUseGui

public void dontUseGui()
通知此實例它可以不再呈現一個 GUI。

指定者:
介面 Visibility 中的 dontUseGui

okToUseGui

public void okToUseGui()
通知此實例它現在可以呈現一個 GUI。

指定者:
介面 Visibility 中的 okToUseGui

avoidingGui

public boolean avoidingGui()
用於確定 BeanContext 子級是否避免使用其 GUI。

指定者:
介面 Visibility 中的 avoidingGui
返回:
此實例避免使用其 GUI 嗎?
另請參見:
Visibility

isSerializing

public boolean isSerializing()
BeanContext 正處於序列化過程中嗎?

返回:
BeanContext 當前是否正被序列化

bcsChildren

protected Iterator bcsChildren()
返回此 BeanContext 所有子級的迭代器。

返回:
用於所有當前 BCSChild 值的迭代器

bcsPreSerializationHook

protected void bcsPreSerializationHook(ObjectOutputStream oos)
                                throws IOException
在調用 defaultWriteObject() 之後,但在序列化當前可序列化子級之前,由 writeObject 調用。 子類別可覆寫此方法,以在此父級類別序列化子級之前對其狀態執行自定義序列化。 不過,此方法不應由子類別用於替換它們自己的 writeObject() 實作(如果有)。

拋出:
IOException

bcsPreDeserializationHook

protected void bcsPreDeserializationHook(ObjectInputStream ois)
                                  throws IOException,
                                         ClassNotFoundException
在調用 defaultReadObject() 之後,但在反序列化任意子級之前,由 readObject 調用。 子類別可覆寫此方法,以在此父級類別反序列化子級之前對其狀態執行自定義反序列化。 不過,此方法不應由子類別用於替換它們自己的 readObject() 實作(如果有)。

拋出:
IOException
ClassNotFoundException

childDeserializedHook

protected void childDeserializedHook(Object child,
                                     BeanContextSupport.BCSChild bcsc)
由 readObject 利用新近反序列化的子級和 BCSChild 調用。

參數:
child - 新近反序列化的子級
bcsc - 新近反序列化的 BCSChild

serialize

protected final void serialize(ObjectOutputStream oos,
                               Collection coll)
                        throws IOException
writeObject 使用此方法來序列化一個 Collection。

參數:
oos - 序列化期間將使用的 ObjectOutputStream
coll - 要序列化的 Collection
拋出:
IOException - 如果序列化失敗

deserialize

protected final void deserialize(ObjectInputStream ois,
                                 Collection coll)
                          throws IOException,
                                 ClassNotFoundException
readObject 使用此方法來反序列化一個 collection。

參數:
ois - 要使用的 ObjectInputStream
coll - Collection
拋出:
IOException
ClassNotFoundException

writeChildren

public final void writeChildren(ObjectOutputStream oos)
                         throws IOException
用於序列化此 BeanContext 的所有子級。

參數:
oos - 序列化期間將使用的 ObjectOutputStream
拋出:
IOException - 如果序列化失敗

readChildren

public final void readChildren(ObjectInputStream ois)
                        throws IOException,
                               ClassNotFoundException
在將此類別的實例用作 BeanContext 協議(及其子協議)實作的代理時,在反序列化期間存在一個「先有雞還是先有蛋」的問題。

拋出:
IOException
ClassNotFoundException

vetoableChange

public void vetoableChange(PropertyChangeEvent pce)
                    throws PropertyVetoException
子類別可以封裝此方法來監視子類別屬性的更改。

指定者:
介面 VetoableChangeListener 中的 vetoableChange
參數:
pce - 描述事件源和已更改屬性的 PropertyChangeEvent 物件。
拋出:
PropertyVetoException - 如果接收方希望回滾屬性更改。

propertyChange

public void propertyChange(PropertyChangeEvent pce)
子類別可以封裝此方法來監視子類別屬性的更改。

指定者:
介面 PropertyChangeListener 中的 propertyChange
參數:
pce - 描述事件源和已更改屬性的 PropertyChangeEvent 物件。

validatePendingAdd

protected boolean validatePendingAdd(Object targetChild)

此類別的子類別可以覆寫或封裝此方法,以便為 BeanContext 添加有效行為,從而能在將子物件添加到 BeanContext 之前立即檢查它們。

返回:
如果可以將子物件添加到此 BeanContext 中,則返回 true,否則返回 false。

validatePendingRemove

protected boolean validatePendingRemove(Object targetChild)

此類別的子類別可以覆寫或封裝此方法,以便為 BeanContext 添加有效行為,從而能在將子物件從 BeanContext 中移除之前立即檢查它們。

返回:
如果可以從此 BeanContext 中移除子物件,則返回 true,否則返回 false。

childJustAddedHook

protected void childJustAddedHook(Object child,
                                  BeanContextSupport.BCSChild bcsc)
子類別可以覆寫此方法,以便在已經添加子物件之後,且在發生事件通知之前,只擴展 add() 語義。該方法使用同步的子物件調用。


childJustRemovedHook

protected void childJustRemovedHook(Object child,
                                    BeanContextSupport.BCSChild bcsc)
子類別可以覆寫此方法,以便在已經移除子物件之後,且在發生事件通知之前,只擴展 remove() 語義。該方法使用同步的子物件調用。


getChildVisibility

protected static final Visibility getChildVisibility(Object child)
獲得與指定子級相關聯的 Component(如果有)。

參數:
child - 指定子級
返回:
與指定子級相關聯的 Component(如果有)。

getChildSerializable

protected static final Serializable getChildSerializable(Object child)
獲得與指定 Child 相關聯的 Serializable(如果有)

參數:
child - 指定子級
返回:
與指定 Child 相關聯的 Serializable(如果有)

getChildPropertyChangeListener

protected static final PropertyChangeListener getChildPropertyChangeListener(Object child)
與指定 Child 相關聯的 PropertyChangeListener(如果有)

參數:
child - 指定子級
返回:
與指定子級相關聯的 PropertyChangeListener(如果有)

getChildVetoableChangeListener

protected static final VetoableChangeListener getChildVetoableChangeListener(Object child)
與指定 Child 相關聯的 VetoableChangeListener(如果有)。

參數:
child - 指定子級
返回:
與指定子級相關聯的 VetoableChangeListener(如果有)

getChildBeanContextMembershipListener

protected static final BeanContextMembershipListener getChildBeanContextMembershipListener(Object child)
與指定 Child 相關聯的 BeanContextMembershipListener(如果有)。

參數:
child - 指定子級
返回:
與指定子級相關聯的 BeanContextMembershipListener(如果有)

getChildBeanContextChild

protected static final BeanContextChild getChildBeanContextChild(Object child)
與指定 Child 相關聯的 BeanContextChild(如果有)。

參數:
child - 指定子級
返回:
與指定子級相關聯的 BeanContextChild(如果有)
拋出:
IllegalArgumentException - 如果子級既實作 BeanContextChild 又實作 BeanContextProxy

fireChildrenAdded

protected final void fireChildrenAdded(BeanContextMembershipEvent bcme)
在 BeanContextMembershipListener 介面上觸發一個 BeanContextshipEvent。


fireChildrenRemoved

protected final void fireChildrenRemoved(BeanContextMembershipEvent bcme)
在 BeanContextMembershipListener 介面上觸發一個 BeanContextshipEvent。


initialize

protected void initialize()
從建構子和 readObject 調用的受保護方法,以初始化 BeanContextSupport 實例的瞬態。 該類別使用此方法來實例化用於監視子級上的 PropertyChange 和 VetoableChange 事件的內部類別偵聽器。 子類別可以封裝此方法來添加自己的初始化行為。


copyChildren

protected final Object[] copyChildren()
獲得此 BeanContext 子級的副本。

返回:
當前巢狀子級的副本

classEquals

protected static final boolean classEquals(Class first,
                                           Class second)
測試以查看兩個類別物件或其名稱是否相等。

參數:
first - 第一個物件
second - 第二個物件
返回:
如果兩個物件相等,則返回 true,否則返回 false

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

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