设置约束属性监听者
约束属性监听对象实现了VetoableChangeListener接口,该接口包含了vetoableChange方法。源Bean一旦发送了一个约束属性变化事件,就会在每个注册的监听者中调用vetoableChange方法。监听者通过使用该方法接收属性变化事件,并且接受或者拒绝拟议的属性变化。如果它们拒绝了拟议中的属性变化,就会抛出一个PropertyVetoException。
同关联属性类似,你的监听Bean可以实现VetoableChangeListener接口,以及vetoableChange 方法自身, 你也可以使用BeanBox 来生成一个事件hookup适配器类,以便为你的Bean提供这个实现。如果你用BeanBox来生成适配器类,之后监听Bean就不需要实现VetoableChangeListener接口。你仅仅需要实现vetoableChange方法,就象Voter Java Bean 在在如下的代码中所实现的:
public void vetoableChange(PropertyChangeEvent x)
hrows PropertyVetoException {
if (vetoAll) {
throw new PropertyVetoException("NO!", x);
}
}