1 package de.fzi.wim.guibase.graphview.lens;
2
3 import java.util.EventListener;
4 import javax.swing.event.EventListenerList;
5
6 /***
7 * A utility base class for all lenses.
8 */
9 public abstract class AbstractLens implements Lens {
10 /*** The list of listeners. */
11 protected EventListenerList m_listeners;
12
13 /***
14 * Creates an instance of this class.
15 */
16 public AbstractLens() {
17 m_listeners=new EventListenerList();
18 }
19 /***
20 * Adds a listener to the lens.
21 *
22 * @param listener the listener to add
23 */
24 public void addLensListener(LensListener listener) {
25 m_listeners.add(LensListener.class,listener);
26 }
27 /***
28 * Removes a listener from the lens.
29 *
30 * @param listener the listener to remove
31 */
32 public void removeLensListener(LensListener listener) {
33 m_listeners.remove(LensListener.class,listener);
34 }
35 /***
36 * Fires the notification that this lens was updated.
37 */
38 protected void fireLensUpdated() {
39 EventListener[] listeners=m_listeners.getListeners(LensListener.class);
40 for (int i=0;i<listeners.length;i++)
41 ((LensListener)listeners[i]).lensUpdated(this);
42 }
43 }