Module java.desktop

Class BeanContextChildSupport

java.lang.Object
java.beans.beancontext.BeanContextChildSupport
所有已实现的接口:
BeanContextChild, BeanContextServiceRevokedListener, BeanContextServicesListener, Serializable, EventListener
直接已知的子类:
BeanContextSupport

public class BeanContextChildSupport extends Object implements BeanContextChild, BeanContextServicesListener, Serializable

这是一个通用的支持类,用于提供实现BeanContextChild协议的支持。这个类可以直接被子类化,也可以被封装和委托,以便为给定组件实现这个接口。

自从:
1.2
参见:
  • Field Details

    • beanContextChildPeer

      public BeanContextChild beanContextChildPeer
      包含此BeanContextChild的BeanContext。
    • pcSupport

      protected PropertyChangeSupport pcSupport
      与此BeanContextChildSupport关联的PropertyChangeSupport。
    • vcSupport

      protected VetoableChangeSupport vcSupport
      与此BeanContextChildSupport关联的VetoableChangeSupport。
    • beanContext

      protected transient BeanContext beanContext
      Bean上下文。
    • rejectedSetBCOnce

      protected transient boolean rejectedSetBCOnce
      指示至少有一个PropertyChangeVetoException针对尝试的setBeanContext操作被抛出的标志。
  • Constructor Details

    • BeanContextChildSupport

      public BeanContextChildSupport()
      构造一个BeanContextChildSupport,其中此类已被子类化以实现JavaBean组件本身。
    • BeanContextChildSupport

      public BeanContextChildSupport(BeanContextChild bcc)
      构造一个BeanContextChildSupport,其中JavaBean组件本身实现了BeanContextChild,并封装了此类,将该接口委托给此实现。
      参数:
      bcc - 底层的bean上下文子级
  • Method Details

    • setBeanContext

      public void setBeanContext(BeanContext bc) throws PropertyVetoException
      设置此BeanContextChildSupport的BeanContext。
      指定者:
      setBeanContext 在接口 BeanContextChild
      参数:
      bc - 要分配给BeanContext属性的新值
      抛出:
      PropertyVetoException - 如果更改被拒绝
    • getBeanContext

      public BeanContext getBeanContext()
      获取此BeanContextChildSupport的嵌套BeanContext。
      指定者:
      getBeanContext 在接口 BeanContextChild
      返回:
      此BeanContextChildSupport的嵌套BeanContext
    • addPropertyChangeListener

      public void addPropertyChangeListener(String name, PropertyChangeListener pcl)
      为特定属性添加PropertyChangeListener。相同的侦听器对象可以多次添加。对于每个属性,侦听器将根据为该属性添加的次数调用。如果namepcl为null,则不会抛出异常,也不会执行任何操作。
      指定者:
      addPropertyChangeListener 在接口 BeanContextChild
      参数:
      name - 要监听的属性的名称
      pcl - 要添加的PropertyChangeListener
    • removePropertyChangeListener

      public void removePropertyChangeListener(String name, PropertyChangeListener pcl)
      为特定属性移除PropertyChangeListener。如果pcl对于指定属性的同一事件源添加了多次,则在移除后,它将少通知一次。如果name为null,则不会抛出异常,也不会执行任何操作。如果pcl为null,或者从未为指定属性添加过,则不会抛出异常,也不会执行任何操作。
      指定者:
      removePropertyChangeListener 在接口 BeanContextChild
      参数:
      name - 要监听的属性的名称
      pcl - 要移除的PropertyChangeListener
    • addVetoableChangeListener

      public void addVetoableChangeListener(String name, VetoableChangeListener vcl)
      为特定属性添加VetoableChangeListener。相同的侦听器对象可以多次添加。对于每个属性,侦听器将根据为该属性添加的次数调用。如果namevcl为null,则不会抛出异常,也不会执行任何操作。
      指定者:
      addVetoableChangeListener 在接口 BeanContextChild
      参数:
      name - 要监听的属性的名称
      vcl - 要添加的VetoableChangeListener
    • removeVetoableChangeListener

      public void removeVetoableChangeListener(String name, VetoableChangeListener vcl)
      移除一个VetoableChangeListener。如果pcl对于指定属性的同一事件源添加了多次,则在移除后,它将少通知一次。如果name为null,则不会抛出异常,也不会执行任何操作。如果vcl为null,或者从未为指定属性添加过,则不会抛出异常,也不会执行任何操作。
      指定者:
      removeVetoableChangeListener 在接口 BeanContextChild
      参数:
      name - 要监听的属性的名称
      vcl - 要移除的VetoableChangeListener
    • serviceRevoked

      public void serviceRevoked(BeanContextServiceRevokedEvent bcsre)
      由嵌套BeanContext提供的服务已被撤销。子类可以重写此方法以实现自己的行为。
      指定者:
      serviceRevoked 在接口 BeanContextServiceRevokedListener
      参数:
      bcsre - 由于服务被撤销而触发的BeanContextServiceRevokedEvent
    • serviceAvailable

      public void serviceAvailable(BeanContextServiceAvailableEvent bcsae)
      来自嵌套BeanContext的新服务可用。子类可以重写此方法以实现自己的行为
      指定者:
      serviceAvailable 在接口 BeanContextServicesListener
      参数:
      bcsae - 由于服务变为可用而触发的BeanContextServiceAvailableEvent
    • getBeanContextChildPeer

      public BeanContextChild getBeanContextChildPeer()
      获取与此BeanContextChildSupport关联的BeanContextChild
      返回:
      此类的BeanContextChild对等体
    • isDelegated

      public boolean isDelegated()
      报告此类是否是另一个类的委托。
      返回:
      如果此类是另一个类的委托,则返回true
    • firePropertyChange

      public void firePropertyChange(String name, Object oldValue, Object newValue)
      向所有已注册的侦听器报告绑定属性更新。如果旧值和新值相等且非空,则不会触发事件。
      参数:
      name - 已更改的属性的编程名称
      oldValue - 属性的旧值
      newValue - 属性的新值
    • fireVetoableChange

      public void fireVetoableChange(String name, Object oldValue, Object newValue) throws PropertyVetoException
      向所有已注册的侦听器报告可否否决的属性更新。如果有人否决更改,则触发一个新事件,将所有人恢复到旧值,然后重新抛出PropertyVetoException异常。

      如果旧值和新值相等且非空,则不会触发事件。

      参数:
      name - 即将更改的属性的编程名称
      oldValue - 属性的旧值
      newValue - - 属性的新值
      抛出:
      PropertyVetoException - 如果接收方希望属性更改被回滚。
    • validatePendingSetBeanContext

      public boolean validatePendingSetBeanContext(BeanContext newValue)
      从setBeanContext调用以验证(或其他方式处理)嵌套BeanContext属性值中的待处理更改。如果返回false,将导致setBeanContext抛出PropertyVetoException。
      参数:
      newValue - 请求的BeanContext属性的新值
      返回:
      如果要否决更改操作,则返回true
    • releaseBeanContextResources

      protected void releaseBeanContextResources()
      可以被子类重写以提供其自己的释放行为。调用此方法时,应释放此实例从其当前BeanContext属性中获取的任何资源,因为对象不再嵌套在该BeanContext中。
    • initializeBeanContextResources

      protected void initializeBeanContextResources()
      可以被子类重写以提供其自己的初始化行为。调用此方法时,应从当前BeanContext获取BeanContextChild所需的任何资源。