1 package org.claros.chat.controllers; 2 3 import java.util.HashMap ; 4 5 import org.claros.chat.threads.ChatListener; 6 import org.claros.chat.threads.ChatSender; 7 8 public class TrafficController { 9 private static HashMap listeners = new HashMap (); 10 private static HashMap senders = new HashMap (); 11 12 17 public static void addListener(String user, ChatListener listener) { 18 String 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 31 public static void removeListener(String user) { 32 String usrTrim = getTrimmed(user); 33 listeners.remove(usrTrim); 34 } 35 36 41 public static ChatListener getListener(String user) { 42 String usrTrim = getTrimmed(user); 43 return (ChatListener)listeners.get(usrTrim); 44 } 45 46 51 public static void addSender(String user, ChatSender sender) { 52 String 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 65 public static void removeSender(String user) { 66 String usrTrim = getTrimmed(user); 67 senders.remove(usrTrim); 68 } 69 70 75 public static ChatSender getSender(String user) { 76 String usrTrim = getTrimmed(user); 77 return (ChatSender)senders.get(usrTrim); 78 } 79 80 85 private static String getTrimmed(String user) { 86 String usrTrim = user; 87 if (usrTrim.indexOf("/") > 0) { 88 usrTrim = usrTrim.substring(0, usrTrim.indexOf("/")); 89 } 90 return usrTrim; 91 } 92 93 } 94 | Popular Tags |