KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > rero > bridges > event > EventChatListener


1 package rero.bridges.event;
2
3 import rero.ircfw.*;
4 import rero.ircfw.interfaces.*;
5
6 import java.util.*;
7
8 public abstract class EventChatListener implements ChatListener
9 {
10     protected List listeners = new LinkedList();
11     protected int storedFlags = 0; // no default flags.
12

13     public void setFlags(int flag)
14     {
15        storedFlags = storedFlags | flag;
16     }
17
18     public void addListener(CodeSnippet code)
19     {
20        listeners.add(code);
21     }
22
23     public int fireChatEvent (HashMap eventDescription)
24     {
25        Iterator i = listeners.iterator();
26        while (i.hasNext())
27        {
28            int value = ((CodeSnippet)i.next()).execute(eventDescription);
29
30            if ((value & ChatListener.REMOVE_LISTENER) == ChatListener.REMOVE_LISTENER)
31            {
32                i.remove();
33            }
34
35            if ((value & ChatListener.EVENT_HALT) == ChatListener.EVENT_HALT)
36            {
37                return ChatListener.EVENT_HALT | storedFlags;
38            }
39        }
40  
41        return ChatListener.EVENT_DONE | storedFlags;
42     }
43
44     public abstract boolean isChatEvent(String JavaDoc eventId, HashMap eventDescription);
45 }
46
Popular Tags