KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > claros > chat > controllers > TrafficController


1 package org.claros.chat.controllers;
2
3 import java.util.HashMap JavaDoc;
4
5 import org.claros.chat.threads.ChatListener;
6 import org.claros.chat.threads.ChatSender;
7
8 public class TrafficController {
9     private static HashMap JavaDoc listeners = new HashMap JavaDoc();
10     private static HashMap JavaDoc senders = new HashMap JavaDoc();
11     
12     /**
13      *
14      * @param user
15      * @param listener
16      */

17     public static void addListener(String JavaDoc user, ChatListener listener) {
18         String JavaDoc usrTrim = getTrimmed(user);
19         
20         ChatListener tmp = (ChatListener)listeners.get(usrTrim);
21         if (tmp != null) {
22             tmp.terminate();
23         }
24         listeners.put(usrTrim, listener);
25     }
26
27     /**
28      *
29      * @param user
30      */

31     public static void removeListener(String JavaDoc user) {
32         String JavaDoc usrTrim = getTrimmed(user);
33         listeners.remove(usrTrim);
34     }
35
36     /**
37      *
38      * @param user
39      * @return
40      */

41     public static ChatListener getListener(String JavaDoc user) {
42         String JavaDoc usrTrim = getTrimmed(user);
43         return (ChatListener)listeners.get(usrTrim);
44     }
45     
46     /**
47      *
48      * @param user
49      * @param sender
50      */

51     public static void addSender(String JavaDoc user, ChatSender sender) {
52         String JavaDoc usrTrim = getTrimmed(user);
53
54         ChatSender tmp = (ChatSender)senders.get(usrTrim);
55         if (tmp != null) {
56             tmp.terminate();
57         }
58         senders.put(usrTrim, sender);
59     }
60
61     /**
62      *
63      * @param user
64      */

65     public static void removeSender(String JavaDoc user) {
66         String JavaDoc usrTrim = getTrimmed(user);
67         senders.remove(usrTrim);
68     }
69
70     /**
71      *
72      * @param user
73      * @return
74      */

75     public static ChatSender getSender(String JavaDoc user) {
76         String JavaDoc usrTrim = getTrimmed(user);
77         return (ChatSender)senders.get(usrTrim);
78     }
79
80     /**
81      *
82      * @param user
83      * @return
84      */

85     private static String JavaDoc getTrimmed(String JavaDoc user) {
86         String JavaDoc usrTrim = user;
87         if (usrTrim.indexOf("/") > 0) {
88             usrTrim = usrTrim.substring(0, usrTrim.indexOf("/"));
89         }
90         return usrTrim;
91     }
92
93 }
94
Popular Tags