package org.richfaces.event; /** * @author akolonitsky * @since Jul 20, 2010 */ public interface ItemChangeSource { /** * <p> * Add a new {@link org.richfaces.event.ItemChangeListener} to the set of listeners interested in being notified when * {@link org.richfaces.event.ItemChangeEvent}s occur. * </p> * * @param listener The {@link org.richfaces.event.ItemChangeListener} to be added * @throws NullPointerException if <code>listener</code> is <code>null</code> */ void addItemChangeListener(ItemChangeListener listener); /** * <p> * Return the set of registered {@link org.richfaces.event.ItemChangeListener}s for this instance. If there are no * registered listeners, a zero-length array is returned. * </p> */ ItemChangeListener[] getItemChangeListeners(); /** * <p> * Remove an existing {@link org.richfaces.event.ItemChangeListener} (if any) from the set of listeners interested in being * notified when {@link org.richfaces.event.ItemChangeEvent}s occur. * </p> * * @param listener The {@link org.richfaces.event.ItemChangeListener} to be removed * @throws NullPointerException if <code>listener</code> is <code>null</code> */ void removeItemChangeListener(ItemChangeListener listener); }