View Javadoc

1   //////////////////////////////////////////////////////////////////////////////
2   // dexterIM - Instant Messaging Framework
3   // Copyright (C) 2003  Christoph Walcher
4   //
5   // This program is free software; you can redistribute it and/or modify
6   // it under the terms of the GNU General Public License as published by
7   // the Free Software Foundation; either version 2 of the License, or
8   // (at your option) any later version.
9   //
10  // This program is distributed in the hope that it will be useful,
11  // but WITHOUT ANY WARRANTY; without even the implied warranty of
12  // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  // GNU General Public License for more details.
14  //
15  // You should have received a copy of the GNU General Public License
16  // along with this program; if not, write to the Free Software
17  // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
18  //////////////////////////////////////////////////////////////////////////////
19  package net.sf.dexterim.core;
20  
21  import java.util.ArrayList;
22  import java.util.List;
23  
24  import net.sf.dexterim.core.event.ConversationEvent;
25  import net.sf.dexterim.core.event.ConversationListener;
26  
27  /***
28   *
29   * @author  Christoph Walcher
30   */
31  public abstract class AbstractConversation implements Conversation {
32    private List listeners;
33  
34    /*** Creates a new instance of AbstractConversation */
35    public AbstractConversation() {
36      listeners = new ArrayList();
37    }
38  
39    public void addConversationListener(ConversationListener listener) {
40      listeners.add(listener);
41    }
42  
43    public void removeConversationListener(ConversationListener listener) {
44      listeners.remove(listener);
45    }
46  
47    protected void fireMessageReceived(ConversationEvent evt) {
48      java.util.Iterator listenerIter = listeners.iterator();
49  
50      while (listenerIter.hasNext()) {
51        ((ConversationListener)listenerIter.next()).messageReceived(evt);
52      }
53    }
54  }