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 }