1 package com.loribel.commons.abstraction; 2 3 /*** 4 * Interface GB_MyPropertyOwner. 5 * 6 * @author Grégory Borelli 7 */ 8 public interface GB_MyPropertyOwner 9 { 10 /*** 11 * Add a MyPropertyChangeListener to the listener list. 12 * The listener is registered for all properties. 13 * 14 * @param a_listener GB_MyPropertyChangeListener - the PropertyChangeListener to be added 15 */ 16 void addMyPropertyChangeListener( 17 GB_MyPropertyChangeListener a_listener); 18 19 /*** 20 * Remove a GB_PropertyChangeListener from the listener list. 21 * This removes a GB_PropertyChangeListener that was registered for all 22 * properties. 23 * 24 * @param a_listener GB_MyPropertyChangeListener - the PropertyChangeListener to be removed 25 */ 26 void removeMyPropertyChangeListener( 27 GB_MyPropertyChangeListener a_listener); 28 29 /*** 30 * Add a MyPropertyChangeListener for a specific property. 31 * The listener will be invoked only when a call on fireMyPropertyChange 32 * names that specific property. 33 * 34 * @param a_property String - the name of the property to listen on 35 * @param a_listener GB_MyPropertyChangeListener - the PropertyChangeListener to be added 36 */ 37 void addMyPropertyChangeListener( 38 String a_property, 39 GB_MyPropertyChangeListener a_listener); 40 41 /*** 42 * Remove a GB_PropertyChangeListener for a specific property. 43 * 44 * @param a_property String - the name of the property that was listened on 45 * @param a_listener GB_MyPropertyChangeListener - the PropertyChangeListener to be removed 46 */ 47 void removeMyPropertyChangeListener( 48 String a_property, 49 GB_MyPropertyChangeListener a_listener); 50 51 }