KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > chipchat > ChipChat


1 /*
2  * Created on 2003. 2. 20.
3  */

4 package chipchat;
5
6 import java.util.HashMap JavaDoc;
7
8 /**
9  * @author Mr.Lee
10  */

11 public final class ChipChat {
12
13     /*
14      * Sigleton...
15      */

16
17     /** Instance of this object. */
18     private static ChipChat instance;
19     /**
20      * Get instance.
21      * @return Instance
22      */

23     public static ChipChat getInstance() {
24         if (instance == null) {
25             makeInstance();
26         }
27         return instance;
28     }
29
30     /**
31      * Make just one instance.
32      */

33     static synchronized void makeInstance() {
34         if (instance == null) {
35             instance = new ChipChat();
36             Server.initialize();
37         }
38     }
39
40     /**
41      * Private constuctor.
42      */

43     private ChipChat() {
44     }
45
46     /*
47      * Channels.
48      */

49     /** Channels */
50     private HashMap JavaDoc channels = new HashMap JavaDoc();
51
52     /**
53      * Get or make channel.
54      * @param name Name of channel.
55      * @return channel
56      */

57     public Channel getChannel(final String JavaDoc name) {
58         Channel channel;
59         synchronized (channels) {
60             channel = (Channel) channels.get(name);
61             if (channel == null) {
62                 channel = new Channel();
63                 channels.put(name, channel);
64             }
65         }
66         return channel;
67     }
68 }
69
Popular Tags