Module java.desktop

Class 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
参见:
  • Field Details

  • Constructor Details

    • BeanContextServicesSupport

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

      构造一个BeanContextServicesSupport实例

      参数:
      peer - 我们为其提供实现的对等BeanContext,如果为null,则此对象是其自身的对等体
      lcle - 此BeanContext的当前区域设置
      dTime - 初始状态,如果在设计模式下为true,如果在运行时为false
      visible - 初始可见性
    • BeanContextServicesSupport

      public BeanContextServicesSupport(BeanContextServices peer, Locale lcle, boolean dtime)
      使用指定的区域设置和设计模式创建一个实例。
      参数:
      peer - 我们为其提供实现的对等BeanContext,如果为null,则此对象是其自身的对等体
      lcle - 此BeanContext的当前区域设置
      dtime - 初始状态,如果在设计模式下为true,如果在运行时为false
    • BeanContextServicesSupport

      public BeanContextServicesSupport(BeanContextServices peer, Locale lcle)
      使用指定的区域设置创建一个实例。
      参数:
      peer - 我们为其提供实现的对等BeanContext,如果为null,则此对象是其自身的对等体
      lcle - 此BeanContext的当前区域设置
    • BeanContextServicesSupport

      public BeanContextServicesSupport(BeanContextServices peer)
      创建一个带有对等体的实例。
      参数:
      peer - 我们为其提供实现的对等BeanContext,如果为null,则此对象是其自身的对等体
    • BeanContextServicesSupport

      public BeanContextServicesSupport()
      创建一个不是其他对象代理的实例。
  • Method Details

    • initialize

      public void initialize()
      在构造和反序列化期间由BeanContextSupport超类调用以初始化子类的瞬态状态。子类可以包装这个方法,但不应该重写它或直接调用它。
      覆盖:
      initialize 在类 BeanContextSupport
    • getBeanContextServicesPeer

      public BeanContextServices getBeanContextServicesPeer()
      获取与此BeanContextServicesSupport关联的BeanContextServices
      返回:
      提供实现的BeanContext实例。
    • createBCSChild

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

      子类可以重写此方法以插入自己的Child子类,而无需重写add()或其他将子添加到集合中的Collection方法。

      覆盖:
      createBCSChild 在类 BeanContextSupport
      参数:
      targetChild - 代表创建Child的子
      peer - 如果targetChild和peer由BeanContextProxy相关,则为对等体
      返回:
      不重写集合方法的特定子类型的Child子类
    • createBCSSServiceProvider

      protected BeanContextServicesSupport.BCSSServiceProvider createBCSSServiceProvider(Class<?> sc, BeanContextServiceProvider bcsp)
      子类可以重写此方法以创建新的BCSSServiceProvider子类,而无需重写addService()以实例化。
      参数:
      sc - 类
      bcsp - 服务提供者
      返回:
      一个服务提供者,而不重写addService()
    • addBeanContextServicesListener

      public void addBeanContextServicesListener(BeanContextServicesListener bcsl)
      添加一个BeanContextServicesListener
      指定者:
      addBeanContextServicesListener 在接口 BeanContextServices
      参数:
      bcsl - 要添加的BeanContextServicesListener
      抛出:
      NullPointerException - 如果参数为null
    • removeBeanContextServicesListener

      public void removeBeanContextServicesListener(BeanContextServicesListener bcsl)
      移除一个BeanContextServicesListener
      指定者:
      removeBeanContextServicesListener 在接口 BeanContextServices
      参数:
      bcsl - 要从此上下文中移除的BeanContextServicesListener
    • addService

      public boolean addService(Class<?> serviceClass, BeanContextServiceProvider bcsp)
      添加一个服务
      指定者:
      addService 在接口 BeanContextServices
      参数:
      serviceClass - 服务类
      bcsp - 服务提供者
      返回:
      如果服务成功添加,则返回true,否则返回false
    • addService

      protected boolean addService(Class<?> serviceClass, BeanContextServiceProvider bcsp, boolean fireEvent)
      添加一个服务
      参数:
      serviceClass - 服务类
      bcsp - 服务提供者
      fireEvent - 是否应触发事件
      返回:
      如果服务成功添加,则返回true
    • revokeService

      public void revokeService(Class<?> serviceClass, BeanContextServiceProvider bcsp, boolean revokeCurrentServicesNow)
      移除一个服务
      指定者:
      revokeService 在接口 BeanContextServices
      参数:
      serviceClass - 服务类
      bcsp - 服务提供者
      revokeCurrentServicesNow - 是否撤销服务
    • hasService

      public boolean hasService(Class<?> serviceClass)
      拥有一个服务,可能被委托
      指定者:
      hasService 在接口 BeanContextServices
      参数:
      serviceClass - 所询问的服务
      返回:
      如果服务可用,则返回true
    • getService

      public Object getService(BeanContextChild child, Object requestor, Class<?> serviceClass, Object serviceSelector, BeanContextServiceRevokedListener bcsrl) throws TooManyListenersException
      获取一个可能被委托的服务
      指定者:
      getService 在接口 BeanContextServices
      参数:
      child - 与此请求相关联的BeanContextChild
      requestor - 请求服务的对象
      serviceClass - 请求的服务类
      serviceSelector - 与服务相关的参数
      bcsrl - 如果服务稍后应被撤销,则通知的BeanContextServiceRevokedListener
      返回:
      返回请求的此上下文的命名服务的引用,如果没有则返回null
      抛出:
      TooManyListenersException - 如果监听器过多
    • releaseService

      public void releaseService(BeanContextChild child, Object requestor, Object service)
      释放一个服务
      指定者:
      releaseService 在接口 BeanContextServices
      参数:
      child - BeanContextChild
      requestor - 请求者
      service - 服务
    • getCurrentServiceClasses

      public Iterator<Object> getCurrentServiceClasses()
      从接口复制的描述: BeanContextServices
      获取此上下文当前可用的服务。
      指定者:
      getCurrentServiceClasses 在接口 BeanContextServices
      返回:
      所有当前注册的服务类的迭代器。
    • getCurrentServiceSelectors

      public Iterator<?> getCurrentServiceSelectors(Class<?> serviceClass)
      从接口复制的描述: BeanContextServices
      通过调用基础BeanContextServiceProvider上的getCurrentServiceSelectors()方法,获取指定服务的服务相关参数(服务选择器)列表。
      指定者:
      getCurrentServiceSelectors 在接口 BeanContextServices
      参数:
      serviceClass - 指定的服务
      返回:
      所有当前可用的服务选择器(如果有)的迭代器,适用于指定的服务。
    • serviceAvailable

      public void serviceAvailable(BeanContextServiceAvailableEvent bcssae)
      BeanContextServicesListener回调,将事件传播给所有当前注册的监听器和BeanContextServices子级,如果此BeanContextService尚未实现此服务。子类可以重写或包装此方法以实现自己的传播语义。
      指定者:
      serviceAvailable 在接口 BeanContextServicesListener
      覆盖:
      serviceAvailable 在类 BeanContextChildSupport
      参数:
      bcssae - 由于服务变为可用而触发的BeanContextServiceAvailableEvent
    • serviceRevoked

      public void serviceRevoked(BeanContextServiceRevokedEvent bcssre)
      BeanContextServicesListener回调,将事件传播给所有当前注册的监听器和BeanContextServices子级,如果此BeanContextService尚未实现此服务。子类可以重写或包装此方法以实现自己的传播语义。
      指定者:
      serviceRevoked 在接口 BeanContextServiceRevokedListener
      覆盖:
      serviceRevoked 在类 BeanContextChildSupport
      参数:
      bcssre - 由于服务被撤销而触发的BeanContextServiceRevokedEvent
    • getChildBeanContextServicesListener

      protected static final BeanContextServicesListener getChildBeanContextServicesListener(Object child)
      获取指定子级的BeanContextServicesListener(如果有)。
      参数:
      child - 指定的子级
      返回:
      指定子级的BeanContextServicesListener(如果有)
    • childJustRemovedHook

      protected void childJustRemovedHook(Object child, BeanContextSupport.BCSChild bcsc)
      从超类子级移除操作后调用,成功移除子级后调用。与子级同步调用。此子类使用此钩子立即撤销此子级正在使用的任何服务,如果它是BeanContextChild。子类可以包装此方法以实现自己的子级移除副作用。
      覆盖:
      childJustRemovedHook 在类 BeanContextSupport
      参数:
      child - 子级
      bcsc - BCSChild
    • releaseBeanContextResources

      protected void releaseBeanContextResources()
      从setBeanContext调用,通知BeanContextChild释放从嵌套BeanContext获取的资源。此方法会撤销从其父级获取的任何服务。子类可以包装此方法以实现自己的语义。
      覆盖:
      releaseBeanContextResources 在类 BeanContextChildSupport
    • initializeBeanContextResources

      protected void initializeBeanContextResources()
      从setBeanContext调用,通知BeanContextChild分配从嵌套BeanContext获取的资源。子类可以包装此方法以实现自己的语义。
      覆盖:
      initializeBeanContextResources 在类 BeanContextChildSupport
    • fireServiceAdded

      protected final void fireServiceAdded(Class<?> serviceClass)
      触发一个BeanContextServiceEvent,通知有新服务。
      参数:
      serviceClass - 服务类
    • 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,指示特定服务不再可用。
      参数:
      serviceClass - 服务类
      revokeNow - 是否立即撤销事件
    • bcsPreSerializationHook

      protected void bcsPreSerializationHook(ObjectOutputStream oos) throws IOException
      在 BeanContextSupport 在序列化子项之前调用 writeObject 方法... 该类将序列化此处的任何可序列化的 BeanContextServiceProviders。子类可以包装此方法以插入它们自己的序列化处理,该处理必须在序列化子项之前发生
      覆盖:
      bcsPreSerializationHook 在类 BeanContextSupport
      参数:
      oos - 用于序列化的 ObjectOutputStream
      抛出:
      IOException - 如果序列化失败
    • bcsPreDeserializationHook

      protected void bcsPreDeserializationHook(ObjectInputStream ois) throws IOException, ClassNotFoundException
      在 BeanContextSupport 在反序列化子项之前调用 readObject 方法... 该类将反序列化先前序列化的任何可序列化的 BeanContextServiceProviders,从而使它们在子项反序列化时可用。子类可以包装此方法以插入它们自己的序列化处理,该处理必须在序列化子项之前发生
      覆盖:
      bcsPreDeserializationHook 在类 BeanContextSupport
      参数:
      ois - 用于反序列化的 ObjectInputStream
      抛出:
      IOException - 如果反序列化失败
      ClassNotFoundException - 如果找不到所需的类