/* * @(#)PropertyChangeListenerProxy.java 1.4 03/12/19 * * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */ package java.beans; /** * A class which extends the EventListenerProxy specifically * for adding a named PropertyChangeListener. Instances of * this class can be added as PropertyChangeListener to * an object. *

* If the object has a getPropertyChangeListeners() * method then the array returned could be a mixture of * PropertyChangeListener and * PropertyChangeListenerProxy objects. * * @see java.util.EventListenerProxy * @since 1.4 */ public class PropertyChangeListenerProxy extends java.util.EventListenerProxy implements PropertyChangeListener { private String propertyName; /** * Constructor which binds the PropertyChangeListener to a specific * property. * * @param listener The listener object * @param propertyName The name of the property to listen on. */ public PropertyChangeListenerProxy(String propertyName, PropertyChangeListener listener) { // XXX - msd NOTE: I changed the order of the arguments so that it's // similar to PropertyChangeSupport.addPropertyChangeListener(String, // PropertyChangeListener); super(listener); this.propertyName = propertyName; } /** * Forwards the property change event to the listener delegate. * * @param evt the property change event */ public void propertyChange(PropertyChangeEvent evt) { ((PropertyChangeListener)getListener()).propertyChange(evt); } /** * Returns the name of the named property associated with the * listener. */ public String getPropertyName() { return propertyName; } }