/* * @(#)VetoableChangeListenerProxy.java 1.6 03/12/19 * * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */ package java.beans; import java.util.EventListenerProxy; /** * A class which extends the EventListenerProxy specifically * for associating a VetoableChangeListener with a "constrained" * property. Instances of this class can be added as a * VetoableChangeListener to a bean which supports firing * VetoableChange events. *

* If the object has a getVetoableChangeListeners() * method then the array returned could be a mixture of * VetoableChangeListener and * VetoableChangeListenerProxy objects. *

* @see java.util.EventListenerProxy * @see VetoableChangeListener * @see VetoableChangeSupport#getVetoableChangeListeners * @since 1.4 */ public class VetoableChangeListenerProxy extends EventListenerProxy implements VetoableChangeListener { private String propertyName; /** * @param propertyName The name of the property to listen on. * @param listener The listener object */ public VetoableChangeListenerProxy(String propertyName, VetoableChangeListener listener) { super(listener); this.propertyName = propertyName; } /** * Forwards the property change event to the listener delegate. * * @param evt the property change event * * @exception PropertyVetoException if the recipient wishes the property * change to be rolled back. */ public void vetoableChange(PropertyChangeEvent evt) throws PropertyVetoException{ ((VetoableChangeListener)getListener()).vetoableChange(evt); } /** * Returns the name of the named property associated with the * listener. */ public String getPropertyName() { return propertyName; } }