All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.dooapp.gaedo.utils.PropertyChangeEmitter Maven / Gradle / Ivy

package com.dooapp.gaedo.utils;

import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeSupport;

/**
 * Interface implemented by objects able to fire {@link PropertyChangeEvent}
 * 
 * @author ndx
 * 
 */
public interface PropertyChangeEmitter {
	/**
	 * @see PropertyChangeSupport#addPropertyChangeListener(String, PropertyChangeListener)
	 * @param propertyName
	 * @param listener
	 */
	public void addPropertyChangeListener(String propertyName,
			PropertyChangeListener listener);

	/**
	 * @see PropertyChangeSupport#addPropertyChangeListener(PropertyChangeListener)
	 * @param listener
	 */
	public void addPropertyChangeListener(PropertyChangeListener listener);

	/**
	 * @see PropertyChangeSupport#removePropertyChangeListener(String, PropertyChangeListener)
	 * @param propertyName
	 * @param listener
	 */
	public void removePropertyChangeListener(String propertyName,
			PropertyChangeListener listener);

	/**
	 * @see PropertyChangeSupport#removePropertyChangeListener(PropertyChangeListener)
	 * @param listener
	 */
	public void removePropertyChangeListener(PropertyChangeListener listener);
	
	/**
	 * This is an optionnal operation, as it clearly is out of general property emitter contract.
	 * @param evt
	 */
    public void firePropertyChange(PropertyChangeEvent evt);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy