KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > rero > ircfw > data > UserHostParser


1 package rero.ircfw.data;
2
3 /* parses the /USERHOST reply... so its somewhat sane to deal with. */
4
5 import rero.ircfw.*;
6 import rero.ircfw.interfaces.FrameworkConstants;
7
8 import rero.util.*;
9
10 import java.util.*;
11 import java.util.regex.*;
12
13 public class UserHostParser extends DataEventAction implements FrameworkConstants
14 {
15     protected static Pattern userHostPattern = Pattern.compile("(.*?)=(.*)");
16
17     public boolean isEvent(HashMap data)
18     {
19        return "302".equals(data.get($EVENT$));
20     }
21
22     public void process(HashMap data)
23     {
24        StringParser temp = new StringParser(data.get($PARMS$).toString(), userHostPattern);
25        if (temp.matches())
26        {
27           String JavaDoc address = temp.getParsedStrings()[1];
28           address = address.trim();
29
30           String JavaDoc nick = temp.getParsedStrings()[0];
31           nick = nick.trim();
32
33           if (address.charAt(0) == '+' || address.charAt(0) == '-')
34           {
35              address = address.substring(1, address.length());
36           }
37
38           if (nick.charAt(nick.length() - 1) == '*')
39           {
40              nick = nick.substring(0, nick.length() - 1);
41           }
42
43           data.put($NICK$, nick);
44           data.put($ADDRESS$, address);
45        }
46     }
47 }
48
49
Popular Tags