KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > rero > client > server > ListFilter


1 package rero.client.server;
2
3 import rero.ircfw.interfaces.*;
4 import java.util.*;
5
6 import rero.util.*;
7
8 /** temporary listener to halt /list replies that don't match our criteria **/
9 public class ListFilter implements ChatListener
10 {
11    protected String JavaDoc filter;
12
13    public ListFilter(String JavaDoc _filter)
14    {
15        filter = _filter;
16    }
17   
18    public int fireChatEvent(HashMap eventDescription)
19    {
20        String JavaDoc event = (String JavaDoc)eventDescription.get("$event");
21
22        if (event.equals("323") || event.equals("416"))
23        {
24           return REMOVE_LISTENER | EVENT_HALT; // end of a /list reply we got what we wanted
25
}
26        else if (event.equals("322") && !StringUtils.iswm(filter, eventDescription.get("$parms").toString()))
27        {
28           return EVENT_HALT; // we're still getting the reply, so ignore it for now.
29
}
30
31        return EVENT_DONE;
32    }
33
34    public boolean isChatEvent(String JavaDoc event, HashMap eventDescription)
35    {
36        if (event.equals("323") || event.equals("416")) { return true; } /* End of /LIST reply */
37        if (event.equals("322")) { return true; } /* /LIST reply */
38
39        return false;
40    }
41 }
42
Popular Tags