KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > rero > ircfw > User


1 package rero.ircfw;
2
3 import java.util.TreeMap JavaDoc;
4 import java.util.HashMap JavaDoc;
5 import java.util.Set JavaDoc;
6
7 import rero.ircfw.interfaces.FrameworkConstants;
8
9 import java.util.Iterator JavaDoc;
10 import java.util.Comparator JavaDoc;
11
12 public class User implements Comparable JavaDoc, FrameworkConstants
13 {
14     protected String JavaDoc nickname = ""; /* user nickname */
15
16     public void setNick(String JavaDoc n) { nickname = n; }
17     public String JavaDoc getNick() { return nickname; }
18
19     public int compareTo(Object JavaDoc b)
20     {
21        User bb;
22        bb = (User)b;
23
24        if (bb == null)
25           return -1;
26
27        return (getNick().toUpperCase().compareTo(bb.getNick().toUpperCase()));
28     }
29
30     public User(String JavaDoc nick)
31     {
32         nickname = nick;
33     }
34
35     protected HashMap JavaDoc channels = new HashMap JavaDoc(); /* key=Channel value=UserMode */
36
37     /** returned HashMap -> key=<ChannelObject> value=<UserMode> can be used to determine users mode on a channel */
38     public HashMap JavaDoc getChannelData() { return channels; }
39     public Set JavaDoc getChannels() { return channels.keySet(); }
40   
41     public int getModeFor(Channel ch)
42     {
43         return ((Integer JavaDoc)channels.get(ch)).intValue();
44     }
45
46     public void setModeFor(Channel ch, int modes)
47     {
48         channels.put(ch, new Integer JavaDoc(modes));
49     }
50
51     protected String JavaDoc address = ""; /* user address */
52
53     public void setAddress(String JavaDoc a) { address = a; }
54     public String JavaDoc getAddress() { return address; }
55
56     public String JavaDoc getFullAddress()
57     {
58        return getNick() + "!" + getAddress();
59     }
60
61     protected long idle = System.currentTimeMillis();
62
63     public void touch() { idle = System.currentTimeMillis(); }
64  
65     /** returns user idle time in seconds */
66     public int getIdleTime() { return (int)((System.currentTimeMillis() - idle) / 1000); }
67
68     public boolean isIdle()
69     {
70         return (System.currentTimeMillis() - idle) > (1000 * 60 * 5); // 5 minutes of idle time.
71
}
72
73     public String JavaDoc toString()
74     {
75        return getNick();
76     }
77 }
78
Popular Tags