/* * JBoss, Home of Professional Open Source. * * See the LEGAL.txt file distributed with this work for information regarding copyright ownership and licensing. * * See the AUTHORS.txt file distributed with this work for a full listing of individual contributors. */ package org.teiid.designer.core; import java.beans.PropertyChangeListener; /** * Implemented by objects that publish property changes * * @since 8.0 */ public interface PropertyChangePublisher { /** * Add a property change listener * * @param listener */ void addPropertyChangeListener(PropertyChangeListener listener); /** * Add a property change listener for the given property * * @param propertyName * @param listener */ void addPropertyChangeListener(String propertyName, PropertyChangeListener listener); /** * Remove a property change listener * * @param listener */ void removePropertyChangeListener(PropertyChangeListener listener); /** * Remove a property change listener * * @param propertyName * @param listener */ void removePropertyChangeListener(String propertyName, PropertyChangeListener listener); }