|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object java.beans.beancontext.BeanContextChildSupport java.beans.beancontext.BeanContextSupport
public class BeanContextSupport
此說明器類別提供 java.beans.beancontext.BeanContext 介面的實用工具實作。
因為此類別直接實作 BeanContext 介面,所以可以通過創建此實作的子類別來使用該類別,或者由另一個實例對此類別實例的特別委託來使用該類別。
巢狀類別摘要 | |
---|---|
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)
當由意外的 setBeanContext 或 remove() 調用導致移除時使用的內部移除方法。 |
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.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 |
欄位詳細資訊 |
---|
protected transient HashMap children
protected HashMap children
欄位的所有存取在該物件上都將是同步的。
protected transient ArrayList bcmListeners
protected ArrayList bcmListeners
欄位的所有存取在該物件上都將是同步的。
protected Locale locale
protected boolean okToUseGui
protected boolean designTime
建構子詳細資訊 |
---|
public BeanContextSupport(BeanContext peer, Locale lcle, boolean dTime, boolean visible)
peer
- 將為其提供實作的同位體 BeanContext,如果此物件是它自己的同位體,則該參數為 nulllcle
- 此 BeanContext 的當前 Locale。如果 lcle 為 null,則預設語言環境被分派給 BeanContext 實例。dTime
- 初始狀態,如果在設計網要下,則該參數為 true,如果在運行狀態下,則該參數為 false。visible
- 初始可見性。Locale.getDefault()
,
Locale.setDefault(java.util.Locale)
public BeanContextSupport(BeanContext peer, Locale lcle, boolean dtime)
peer
- 將為其提供實作的同位體 BeanContext,如果此物件是它自己的同位體,則該參數為 nulllcle
- 此 BeanContext 的當前 Locale。如果 lcle 為 null,則預設語言環境被分派給 BeanContext 實例。dtime
- 初始狀態,如果在設計網要下,則該參數為 true,如果在運行狀態下,則該參數為 false。Locale.getDefault()
,
Locale.setDefault(java.util.Locale)
public BeanContextSupport(BeanContext peer, Locale lcle)
peer
- 將為其提供實作的同位體 BeanContext,如果此物件是它自己的同位體,則該參數為 nulllcle
- 此 BeanContext 的當前 Locale。如果 lcle 為 null,則預設語言環境被分派給 BeanContext 實例。Locale.getDefault()
,
Locale.setDefault(java.util.Locale)
public BeanContextSupport(BeanContext peer)
peer
- 將為其提供實作的同位體 BeanContext,如果此物件是它自己的同位體,則該參數為 nullpublic BeanContextSupport()
方法詳細資訊 |
---|
public BeanContext getBeanContextPeer()
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 參數標識的類別public int size()
Collection
中的 size
public boolean isEmpty()
Collection
中的 isEmpty
public boolean contains(Object o)
Collection
中的 contains
o
- 相關 Object
public boolean containsKey(Object o)
o
- 相關 Object
public Iterator iterator()
Iterable
中的 iterator
Collection
中的 iterator
public Object[] toArray()
Collection
中的 toArray
public Object[] toArray(Object[] arry)
Collection
中的 toArray
arry
- 感興趣的物件型別陣列。
protected BeanContextSupport.BCSChild createBCSChild(Object targetChild, Object peer)
子類別可以覆寫此方法來插入自己的 Child 的子類別,而不必覆寫 add() 或其他將子級添加到集合中的 Collection 方法。
targetChild
- 要創建自己的 Child 的子級peer
- 同位體,如果 tragetChild 和同位體通過實作 BeanContextProxy 建立聯繫public boolean add(Object targetChild)
作為 java.beans.Beans.instantiate() 的副作用調用。如果子物件對於添加無效,則此方法拋出 IllegalStateException。
Collection
中的 add
targetChild
- 巢狀在此 BeanContext 中的子物件
validatePendingAdd(java.lang.Object)
public boolean remove(Object targetChild)
Collection
中的 remove
targetChild
- 要移除的子物件
validatePendingRemove(java.lang.Object)
protected boolean remove(Object targetChild, boolean callChildSetBC)
targetChild
- 要移除的 JavaBean、BeanContext 或 ObjectcallChildSetBC
- 用於指示應該通知子物件它不再巢狀在此 BeanContext 中。public boolean containsAll(Collection c)
Collection
中的 containsAll
c
- 指定的 Collection
Collection.contains(Object)
public boolean addAll(Collection c)
Collection
中的 addAll
c
- 套件含要添加到此 collection 的元素的 collection
UnsupportedOperationException
Collection.add(Object)
public boolean removeAll(Collection c)
Collection
中的 removeAll
c
- 辦好要從此 collection 移除的元素的 collection
UnsupportedOperationException
Collection.remove(Object)
,
Collection.contains(Object)
public boolean retainAll(Collection c)
Collection
中的 retainAll
c
- 套件含保留在此 collection 中的元素的 collection
UnsupportedOperationException
Collection.remove(Object)
,
Collection.contains(Object)
public void clear()
Collection
中的 clear
UnsupportedOperationException
public void addBeanContextMembershipListener(BeanContextMembershipListener bcml)
BeanContext
中的 addBeanContextMembershipListener
bcml
- 要添加的 BeanContextMembershipListener
NullPointerException
public void removeBeanContextMembershipListener(BeanContextMembershipListener bcml)
BeanContext
中的 removeBeanContextMembershipListener
bcml
- 要移除的 BeanContextMembershipListener
NullPointerException
public InputStream getResourceAsStream(String name, BeanContextChild bcc)
BeanContext
複製的描述java.lang.ClassLoader.getResourceAsStream()
類似,此方法允許 BeanContext
實作協調子 Component
和基礎 ClassLoader
之間的行為。
BeanContext
中的 getResourceAsStream
name
- 所需資源的名稱。bcc
- 做出請求的子物件。
NullPointerException
public URL getResource(String name, BeanContextChild bcc)
BeanContext
複製的描述java.lang.ClassLoader.getResource()
類似,此方法允許 BeanContext
實作協調子 Component
和基礎 ClassLoader
之間的行為。
BeanContext
中的 getResource
name
- 所需資源的名稱。bcc
- 做出請求的子物件。
public void setDesignTime(boolean dTime)
DesignMode
中的 setDesignTime
新的
- designTime 值BeanContext
,
BeanContextMembershipListener
,
PropertyChangeEvent
public boolean isDesignTime()
DesignMode
中的 isDesignTime
public void setLocale(Locale newLocale) throws PropertyVetoException
newLocale
- 新的語言環境。如果 newLocale 為 null
,則此方法調用將無效。
PropertyVetoException
- 如果拒絕新值。public Locale getLocale()
public boolean needsGui()
此方法通常從環境中調用,以便確定實作者是否「需要」 GUI。
這裡使用的演算法測試 BeanContextPeer 及其當前子級,以確定它們是 Container 還是 Component,或者確定它們是否實作 Visibility 並返回 needsGui() == true。
Visibility
中的 needsGui
public void dontUseGui()
Visibility
中的 dontUseGui
public void okToUseGui()
Visibility
中的 okToUseGui
public boolean avoidingGui()
Visibility
中的 avoidingGui
Visibility
public boolean isSerializing()
protected Iterator bcsChildren()
protected void bcsPreSerializationHook(ObjectOutputStream oos) throws IOException
IOException
protected void bcsPreDeserializationHook(ObjectInputStream ois) throws IOException, ClassNotFoundException
IOException
ClassNotFoundException
protected void childDeserializedHook(Object child, BeanContextSupport.BCSChild bcsc)
child
- 新近反序列化的子級bcsc
- 新近反序列化的 BCSChildprotected final void serialize(ObjectOutputStream oos, Collection coll) throws IOException
oos
- 序列化期間將使用的 ObjectOutputStreamcoll
- 要序列化的 Collection
IOException
- 如果序列化失敗protected final void deserialize(ObjectInputStream ois, Collection coll) throws IOException, ClassNotFoundException
ois
- 要使用的 ObjectInputStreamcoll
- Collection
IOException
ClassNotFoundException
public final void writeChildren(ObjectOutputStream oos) throws IOException
oos
- 序列化期間將使用的 ObjectOutputStream
IOException
- 如果序列化失敗public final void readChildren(ObjectInputStream ois) throws IOException, ClassNotFoundException
IOException
ClassNotFoundException
public void vetoableChange(PropertyChangeEvent pce) throws PropertyVetoException
VetoableChangeListener
中的 vetoableChange
pce
- 描述事件源和已更改屬性的 PropertyChangeEvent
物件。
PropertyVetoException
- 如果接收方希望回滾屬性更改。public void propertyChange(PropertyChangeEvent pce)
PropertyChangeListener
中的 propertyChange
pce
- 描述事件源和已更改屬性的 PropertyChangeEvent 物件。protected boolean validatePendingAdd(Object targetChild)
此類別的子類別可以覆寫或封裝此方法,以便為 BeanContext 添加有效行為,從而能在將子物件添加到 BeanContext 之前立即檢查它們。
protected boolean validatePendingRemove(Object targetChild)
此類別的子類別可以覆寫或封裝此方法,以便為 BeanContext 添加有效行為,從而能在將子物件從 BeanContext 中移除之前立即檢查它們。
protected void childJustAddedHook(Object child, BeanContextSupport.BCSChild bcsc)
protected void childJustRemovedHook(Object child, BeanContextSupport.BCSChild bcsc)
protected static final Visibility getChildVisibility(Object child)
child
- 指定子級
protected static final Serializable getChildSerializable(Object child)
child
- 指定子級
protected static final PropertyChangeListener getChildPropertyChangeListener(Object child)
child
- 指定子級
protected static final VetoableChangeListener getChildVetoableChangeListener(Object child)
child
- 指定子級
protected static final BeanContextMembershipListener getChildBeanContextMembershipListener(Object child)
child
- 指定子級
protected static final BeanContextChild getChildBeanContextChild(Object child)
child
- 指定子級
IllegalArgumentException
- 如果子級既實作 BeanContextChild 又實作 BeanContextProxyprotected final void fireChildrenAdded(BeanContextMembershipEvent bcme)
protected final void fireChildrenRemoved(BeanContextMembershipEvent bcme)
protected void initialize()
protected final Object[] copyChildren()
protected static final boolean classEquals(Class first, Class second)
first
- 第一個物件second
- 第二個物件
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。