JavaTM 2 Platform
Standard Ed. 6

java.beans.beancontext
類別 BeanContextServicesSupport

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

public class BeanContextServicesSupport
extends BeanContextSupport
implements BeanContextServices

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

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

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

巢狀類別摘要
protected  class BeanContextServicesSupport.BCSSChild
           
protected  class BeanContextServicesSupport.BCSSProxyServiceProvider
           
protected static class BeanContextServicesSupport.BCSSServiceProvider
          子類別可以為此巢狀類別創建子類別,以便為每個 BeanContextServicesProvider 添加行為。
 
從類別 java.beans.beancontext.BeanContextSupport 繼承的巢狀類別/介面
BeanContextSupport.BCSChild, BeanContextSupport.BCSIterator
 
欄位摘要
protected  ArrayList bcsListeners
          BeanContextServicesListener 物件的列表。
protected  BeanContextServicesSupport.BCSSProxyServiceProvider proxy
          BeanContextServiceProvider 的委託。
protected  int serializable
          可序列化 BeanContextServceProvider 的實例數。
protected  HashMap services
           protected transient HashMap services 欄位的所有存取在該物件上都應該是同步的。
 
從類別 java.beans.beancontext.BeanContextSupport 繼承的欄位
bcmListeners, children, designTime, locale, okToUseGui
 
從類別 java.beans.beancontext.BeanContextChildSupport 繼承的欄位
beanContext, beanContextChildPeer, pcSupport, rejectedSetBCOnce, vcSupport
 
從介面 java.beans.beancontext.BeanContext 繼承的欄位
globalHierarchyLock
 
從介面 java.beans.DesignMode 繼承的欄位
PROPERTYNAME
 
建構子摘要
BeanContextServicesSupport()
          創建不是另一個物件代理的實例。
BeanContextServicesSupport(BeanContextServices peer)
          創建一個具有同位體的實例
BeanContextServicesSupport(BeanContextServices peer, Locale lcle)
          使用指定語言環境創建一個實例。
BeanContextServicesSupport(BeanContextServices peer, Locale lcle, boolean dtime)
          使用指定 Locale 和設計網要創建一個實例。
BeanContextServicesSupport(BeanContextServices peer, Locale lcle, boolean dTime, boolean visible)
           建構一個 BeanContextServicesSupport 實例
 
方法摘要
 void addBeanContextServicesListener(BeanContextServicesListener bcsl)
          添加一個 BeanContextServicesListener。
 boolean addService(Class serviceClass, BeanContextServiceProvider bcsp)
          添加服務。
protected  boolean addService(Class serviceClass, BeanContextServiceProvider bcsp, boolean fireEvent)
          添加服務。
protected  void bcsPreDeserializationHook(ObjectInputStream ois)
          在反序列化子級之前,從 BeanContextSupport readObject 中調用。
protected  void bcsPreSerializationHook(ObjectOutputStream oos)
          在序列化子級之前,從 BeanContextSupport writeObject 中調用。
protected  void childJustRemovedHook(Object child, BeanContextSupport.BCSChild bcsc)
          在已成功移除子級之後,從父級類別的子級移除操作中調用。
protected  BeanContextSupport.BCSChild createBCSChild(Object targetChild, Object peer)
           子類別可以覆寫此方法來插入自己的 Child 的子類別,而不必覆寫 add() 或其他將子級添加到集合中的 Collection 方法。
protected  BeanContextServicesSupport.BCSSServiceProvider createBCSSServiceProvider(Class sc, BeanContextServiceProvider bcsp)
          子類別可以覆寫此方法來創建 BCSSServiceProvider 的新子類別,而不必為了實例化而覆寫 addService()。
protected  void fireServiceAdded(BeanContextServiceAvailableEvent bcssae)
          觸發一個指示新服務已變得可用的 BeanContextServiceAvailableEvent
protected  void fireServiceAdded(Class serviceClass)
          觸發一個通知新服務的 BeanContextServiceEvent
protected  void fireServiceRevoked(BeanContextServiceRevokedEvent bcsre)
          觸發一個通知將被取消的服務的 BeanContextServiceEvent
protected  void fireServiceRevoked(Class serviceClass, boolean revokeNow)
          觸發一個指示某一特定服務不再可用的 BeanContextServiceRevokedEvent
 BeanContextServices getBeanContextServicesPeer()
          獲得與此 BeanContextServicesSupport 相關聯的 BeanContextServices
protected static BeanContextServicesListener getChildBeanContextServicesListener(Object child)
          獲得指定子級的 BeanContextServicesListener(如果有)。
 Iterator getCurrentServiceClasses()
          獲得此上下文的當前可用服務。
 Iterator getCurrentServiceSelectors(Class serviceClass)
          通過在基礎 BeanContextServiceProvider 上調用 getCurrentServiceSelectors() 獲得指定服務的與服務有關的服務參數列表(服務選擇器)。
 Object getService(BeanContextChild child, Object requestor, Class serviceClass, Object serviceSelector, BeanContextServiceRevokedListener bcsrl)
          獲得一個可被委託的服務。
 boolean hasService(Class serviceClass)
          具有一個可被委託的服務。
 void initialize()
          由 BeanContextSupport 父級類別在建構和反序列化期間調用,以初始化子類別的瞬態。
protected  void initializeBeanContextResources()
          從 setBeanContext 中調用,以通知 BeanContextChild 分派從巢狀 BeanContext 中獲得的資源。
protected  void releaseBeanContextResources()
          從 setBeanContext 中調用,以通知 BeanContextChild 釋放從巢狀 BeanContext 中獲得的資源。
 void releaseService(BeanContextChild child, Object requestor, Object service)
          釋放服務。
 void removeBeanContextServicesListener(BeanContextServicesListener bcsl)
          移除一個 BeanContextServicesListener。
 void revokeService(Class serviceClass, BeanContextServiceProvider bcsp, boolean revokeCurrentServicesNow)
          移除服務。
 void serviceAvailable(BeanContextServiceAvailableEvent bcssae)
          BeanContextServicesListener 回調,如果此 BeanContextService 自己尚未實作此服務,則將事件傳播到所有當前已註冊偵聽器和 BeanContextServices 子級。
 void serviceRevoked(BeanContextServiceRevokedEvent bcssre)
          BeanContextServicesListener 回調,如果此 BeanContextService 自己尚未實作此服務,則將事件傳播到所有當前已註冊偵聽器和 BeanContextServices 子級。
 
從類別 java.beans.beancontext.BeanContextSupport 繼承的方法
add, addAll, addBeanContextMembershipListener, avoidingGui, bcsChildren, childDeserializedHook, childJustAddedHook, classEquals, clear, contains, containsAll, containsKey, copyChildren, deserialize, dontUseGui, fireChildrenAdded, fireChildrenRemoved, getBeanContextPeer, getChildBeanContextChild, getChildBeanContextMembershipListener, getChildPropertyChangeListener, getChildSerializable, getChildVetoableChangeListener, getChildVisibility, getLocale, getResource, getResourceAsStream, instantiateChild, isDesignTime, isEmpty, isSerializing, iterator, needsGui, okToUseGui, propertyChange, readChildren, remove, remove, removeAll, removeBeanContextMembershipListener, retainAll, serialize, setDesignTime, setLocale, size, toArray, toArray, validatePendingAdd, validatePendingRemove, vetoableChange, writeChildren
 
從類別 java.beans.beancontext.BeanContextChildSupport 繼承的方法
addPropertyChangeListener, addVetoableChangeListener, firePropertyChange, fireVetoableChange, getBeanContext, getBeanContextChildPeer, isDelegated, removePropertyChangeListener, removeVetoableChangeListener, setBeanContext, validatePendingSetBeanContext
 
從類別 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
從介面 java.beans.beancontext.BeanContext 繼承的方法
addBeanContextMembershipListener, getResource, getResourceAsStream, instantiateChild, removeBeanContextMembershipListener
 
從介面 java.beans.beancontext.BeanContextChild 繼承的方法
addPropertyChangeListener, addVetoableChangeListener, getBeanContext, removePropertyChangeListener, removeVetoableChangeListener, setBeanContext
 
從介面 java.util.Collection 繼承的方法
add, addAll, clear, contains, containsAll, equals, hashCode, isEmpty, iterator, remove, removeAll, retainAll, size, toArray, toArray
 
從介面 java.beans.DesignMode 繼承的方法
isDesignTime, setDesignTime
 
從介面 java.beans.Visibility 繼承的方法
avoidingGui, dontUseGui, needsGui, okToUseGui
 

欄位詳細資訊

services

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


serializable

protected transient int serializable
可序列化 BeanContextServceProvider 的實例數。


proxy

protected transient BeanContextServicesSupport.BCSSProxyServiceProvider proxy
BeanContextServiceProvider 的委託。


bcsListeners

protected transient ArrayList bcsListeners
BeanContextServicesListener 物件的列表。

建構子詳細資訊

BeanContextServicesSupport

public BeanContextServicesSupport(BeanContextServices peer,
                                  Locale lcle,
                                  boolean dTime,
                                  boolean visible)

建構一個 BeanContextServicesSupport 實例

參數:
peer - 將為其提供實作的同位體 BeanContext,如果該參數為 null,則此物件是它自己的同位體
lcle - 此 BeanContext 的當前 Locale。
dtime - 初始狀態,如果在設計網要下,則該參數為 true,如果在運行狀態下,則該參數為 false。
visible - 初始可見性。

BeanContextServicesSupport

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

參數:
peer - 將為其提供實作的同位體 BeanContext,如果該參數為 null,則此物件是它自己的同位體
lcle - 此 BeanContext 的當前 Locale。
dtime - 初始狀態,如果在設計網要下,則該參數為 true,如果在運行狀態下,則該參數為 false。

BeanContextServicesSupport

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

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

BeanContextServicesSupport

public BeanContextServicesSupport(BeanContextServices peer)
創建一個具有同位體的實例

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

BeanContextServicesSupport

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

方法詳細資訊

initialize

public void initialize()
由 BeanContextSupport 父級類別在建構和反序列化期間調用,以初始化子類別的瞬態。 子類別可以封裝此方法,但不應該覆寫或直接調用它。

覆寫:
類別 BeanContextSupport 中的 initialize

getBeanContextServicesPeer

public BeanContextServices getBeanContextServicesPeer()
獲得與此 BeanContextServicesSupport 相關聯的 BeanContextServices

返回:
BeanContext 的實例,此物件將為其提供實作。

createBCSChild

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

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

覆寫:
類別 BeanContextSupport 中的 createBCSChild
參數:
targetChild - 要創建自己的 Child 的子級
peer - 同位體,如果 targetChild 和同位體通過 BeanContextProxy 建立聯繫

createBCSSServiceProvider

protected BeanContextServicesSupport.BCSSServiceProvider createBCSSServiceProvider(Class sc,
                                                                                   BeanContextServiceProvider bcsp)
子類別可以覆寫此方法來創建 BCSSServiceProvider 的新子類別,而不必為了實例化而覆寫 addService()。


addBeanContextServicesListener

public void addBeanContextServicesListener(BeanContextServicesListener bcsl)
添加一個 BeanContextServicesListener。

指定者:
介面 BeanContextServices 中的 addBeanContextServicesListener
參數:
bcsl - 要添加的 BeanContextServicesListener

removeBeanContextServicesListener

public void removeBeanContextServicesListener(BeanContextServicesListener bcsl)
移除一個 BeanContextServicesListener。

指定者:
介面 BeanContextServices 中的 removeBeanContextServicesListener
參數:
bcsl - 要從此上下文移除的 BeanContextServicesListener

addService

public boolean addService(Class serviceClass,
                          BeanContextServiceProvider bcsp)
添加服務。

指定者:
介面 BeanContextServices 中的 addService
參數:
serviceClass - 要添加的服務
bcsp - 與該服務相關聯的 BeanContextServiceProvider

addService

protected boolean addService(Class serviceClass,
                             BeanContextServiceProvider bcsp,
                             boolean fireEvent)
添加服務。


revokeService

public void revokeService(Class serviceClass,
                          BeanContextServiceProvider bcsp,
                          boolean revokeCurrentServicesNow)
移除服務。

指定者:
介面 BeanContextServices 中的 revokeService
參數:
serviceClass - 要從此 BeanContextServices 中取消的服務
bcsp - 與將取消的特定服務有關聯的 BeanContextServiceProvider
revokeCurrentServicesNow - 值為 true 指示一個異常環境,在該環境中,BeanContextServiceProviderBeanContextServices 希望立即終止為指定服務的所有當前突出參考提供服務。

hasService

public boolean hasService(Class serviceClass)
具有一個可被委託的服務。

指定者:
介面 BeanContextServices 中的 hasService
參數:
serviceClass - 相關服務
返回:
如果可得到服務,則返回 true

getService

public Object getService(BeanContextChild child,
                         Object requestor,
                         Class serviceClass,
                         Object serviceSelector,
                         BeanContextServiceRevokedListener bcsrl)
                  throws TooManyListenersException
獲得一個可被委託的服務。

指定者:
介面 BeanContextServices 中的 getService
參數:
child - 與此請求相關聯的 BeanContextChild
requestor - 請求服務的物件
serviceClass - 所請求服務的類別
serviceSelector - 與服務有關的參數
bcsrl - 通知稍後是否應該取消服務的 BeanContextServiceRevokedListener
返回:
所請求的此上下文的指定 Service 的參考,或 null
拋出:
TooManyListenersException

releaseService

public void releaseService(BeanContextChild child,
                           Object requestor,
                           Object service)
釋放服務。

指定者:
介面 BeanContextServices 中的 releaseService
參數:
child - BeanContextChild
requestor - 請求者
service - 服務

getCurrentServiceClasses

public Iterator getCurrentServiceClasses()
從介面 BeanContextServices 複製的描述
獲得此上下文的當前可用服務。

指定者:
介面 BeanContextServices 中的 getCurrentServiceClasses
返回:
所有當前已註冊服務類別的迭代器。

getCurrentServiceSelectors

public Iterator getCurrentServiceSelectors(Class serviceClass)
從介面 BeanContextServices 複製的描述
通過在基礎 BeanContextServiceProvider 上調用 getCurrentServiceSelectors() 獲得指定服務的與服務有關的服務參數列表(服務選擇器)。

指定者:
介面 BeanContextServices 中的 getCurrentServiceSelectors
參數:
serviceClass - 指定服務
返回:
所有可用於指定服務的當前可用服務選擇器(如果有)的迭代器。

serviceAvailable

public void serviceAvailable(BeanContextServiceAvailableEvent bcssae)
BeanContextServicesListener 回調,如果此 BeanContextService 自己尚未實作此服務,則將事件傳播到所有當前已註冊偵聽器和 BeanContextServices 子級。 子類別可覆寫或封裝此方法來實作自己的傳播語義。

指定者:
介面 BeanContextServicesListener 中的 serviceAvailable
覆寫:
類別 BeanContextChildSupport 中的 serviceAvailable
參數:
bcssae - 由於服務變得可用而觸發的 BeanContextServiceAvailableEvent

serviceRevoked

public void serviceRevoked(BeanContextServiceRevokedEvent bcssre)
BeanContextServicesListener 回調,如果此 BeanContextService 自己尚未實作此服務,則將事件傳播到所有當前已註冊偵聽器和 BeanContextServices 子級。 子類別可覆寫或封裝此方法來實作自己的傳播語義。

指定者:
介面 BeanContextServiceRevokedListener 中的 serviceRevoked
覆寫:
類別 BeanContextChildSupport 中的 serviceRevoked
參數:
bcssre - 由於取消服務而觸發的 BeanContextServiceRevokedEvent

getChildBeanContextServicesListener

protected static final BeanContextServicesListener getChildBeanContextServicesListener(Object child)
獲得指定子級的 BeanContextServicesListener(如果有)。

參數:
child - 指定子級
返回:
指定子級的 BeanContextServicesListener(如果有)

childJustRemovedHook

protected void childJustRemovedHook(Object child,
                                    BeanContextSupport.BCSChild bcsc)
在已成功移除子級之後,從父級類別的子級移除操作中調用。使用同步的子級調用。 如果此子級是一個 BeanContextChild,則該子類別使用此鉤子 (hook) 立即取消正由此子級使用的所有服務。 為了實作自己的子級移除副作用,子類別可以封裝此方法。

覆寫:
類別 BeanContextSupport 中的 childJustRemovedHook

releaseBeanContextResources

protected void releaseBeanContextResources()
從 setBeanContext 中調用,以通知 BeanContextChild 釋放從巢狀 BeanContext 中獲得的資源。 此方法取消從其父級中獲得的所有服務。 子類別可以封裝此方法來實作自己的語義。

覆寫:
類別 BeanContextChildSupport 中的 releaseBeanContextResources

initializeBeanContextResources

protected void initializeBeanContextResources()
從 setBeanContext 中調用,以通知 BeanContextChild 分派從巢狀 BeanContext 中獲得的資源。 子類別可以封裝此方法來實作自己的語義。

覆寫:
類別 BeanContextChildSupport 中的 initializeBeanContextResources

fireServiceAdded

protected final void fireServiceAdded(Class serviceClass)
觸發一個通知新服務的 BeanContextServiceEvent


fireServiceAdded

protected final void fireServiceAdded(BeanContextServiceAvailableEvent bcssae)
觸發一個指示新服務已變得可用的 BeanContextServiceAvailableEvent

參數:
bcssae - BeanContextServiceAvailableEvent

fireServiceRevoked

protected final void fireServiceRevoked(BeanContextServiceRevokedEvent bcsre)
觸發一個通知將被取消的服務的 BeanContextServiceEvent

參數:
bcsre - BeanContextServiceRevokedEvent

fireServiceRevoked

protected final void fireServiceRevoked(Class serviceClass,
                                        boolean revokeNow)
觸發一個指示某一特定服務不再可用的 BeanContextServiceRevokedEvent


bcsPreSerializationHook

protected void bcsPreSerializationHook(ObjectOutputStream oos)
                                throws IOException
在序列化子級之前,從 BeanContextSupport writeObject 中調用。 此類別將序列化這裡的所有 Serializable BeanContextServiceProviders。 子類別可以封裝此方法來插入自己的序列化處理,該處理操作必須發生在序列化子級之前。

覆寫:
類別 BeanContextSupport 中的 bcsPreSerializationHook
拋出:
IOException

bcsPreDeserializationHook

protected void bcsPreDeserializationHook(ObjectInputStream ois)
                                  throws IOException,
                                         ClassNotFoundException
在反序列化子級之前,從 BeanContextSupport readObject 中調用。 此類別將反序列化以前已序列化的所有 Serializable BeanContextServiceProviders,這樣可以使它們在反序列化時用於子級。 子類別可以封裝此方法來插入自己的序列化處理,該處理操作必須發生在序列化子級之前。

覆寫:
類別 BeanContextSupport 中的 bcsPreDeserializationHook
拋出:
IOException
ClassNotFoundException

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

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