1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package net.sf.dexterim.core;
20
21 import java.util.ArrayList;
22 import java.util.Iterator;
23 import java.util.List;
24
25 import net.sf.dexterim.core.event.*;
26 import net.sf.dexterim.core.event.ContactListEvent;
27
28
29 /***
30 * @author christoph
31 *
32 */
33 public abstract class AbstractContactList implements ContactList {
34 private List listeners;
35
36 public AbstractContactList() {
37 this.listeners = new ArrayList();
38 }
39
40
41 /***
42 * @see net.sf.dexterim.core.ContactList#addContactListener(net.sf.dexterim.core.ContactListener)
43 */
44 public void addContactListener(ContactListListener listener) {
45 listeners.add(listener);
46 }
47
48
49 /***
50 * @see net.sf.dexterim.core.ContactList#removeContactListener(net.sf.dexterim.core.ContactListener)
51 */
52 public void removeContactListener(ContactListListener listener) {
53 listeners.remove(listener);
54 }
55
56 protected void fireContactAdded(int index) {
57
58 ContactListEvent event = null;
59
60 for (Iterator iter = listeners.iterator(); iter.hasNext();) {
61
62 if (event == null) {
63 event = new ContactListEvent(this, index);
64 }
65
66 ((ContactListListener) iter.next()).contactAdded(event);
67 }
68 }
69 }