01: // The contents of this file are subject to the Mozilla Public License Version
02: // 1.1
03: //(the "License"); you may not use this file except in compliance with the
04: //License. You may obtain a copy of the License at http://www.mozilla.org/MPL/
05: //
06: //Software distributed under the License is distributed on an "AS IS" basis,
07: //WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
08: //for the specific language governing rights and
09: //limitations under the License.
10: //
11: //The Original Code is "The Columba Project"
12: //
13: //The Initial Developers of the Original Code are Frederik Dietz and Timo
14: // Stich.
15: //Portions created by Frederik Dietz and Timo Stich are Copyright (C) 2003.
16: //
17: //All Rights Reserved.
18: package org.columba.chat.model;
19:
20: import java.util.HashMap;
21: import java.util.Map;
22:
23: import org.columba.chat.model.api.IBuddyStatus;
24:
25: /**
26: * Manages a list of buddies.
27: *
28: * @author fdietz
29: */
30: public class BuddyList {
31:
32: private Map map;
33:
34: private static BuddyList instance = new BuddyList();
35:
36: private BuddyList() {
37: map = new HashMap();
38: }
39:
40: public static BuddyList getInstance() {
41: return instance;
42: }
43:
44: public void add(String jabberId, IBuddyStatus buddy) {
45: if (jabberId == null)
46: throw new IllegalArgumentException("jabberId == null");
47: if (buddy == null)
48: throw new IllegalArgumentException("buddy == null");
49:
50: map.put(jabberId, buddy);
51: }
52:
53: public boolean exists(String jabberId) {
54: if (jabberId == null)
55: throw new IllegalArgumentException("jabberId == null");
56: return map.containsKey(jabberId);
57: }
58:
59: public BuddyStatus getBuddy(String jabberId) {
60: if (jabberId == null)
61: throw new IllegalArgumentException("jabberId == null");
62:
63: if (map.containsKey(jabberId))
64: return (BuddyStatus) map.get(jabberId);
65:
66: return null;
67: }
68: }
|