View Javadoc

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  }