/*
* @(#)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; } }