1 // ////////////////////////////////////////////////////////////////////////////
2 // dexterIM - Instant Messaging Framework
3 // Copyright (C) 2003 Christoph Walcher
4 //
5 // This program is free software; you can redistribute it and/or modify
6 // it under the terms of the GNU General Public License as published by
7 // the Free Software Foundation; either version 2 of the License, or
8 // (at your option) any later version.
9 //
10 // This program is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 // GNU General Public License for more details.
14 //
15 // You should have received a copy of the GNU General Public License
16 // along with this program; if not, write to the Free Software
17 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 //////////////////////////////////////////////////////////////////////////////
19 package net.sf.dexterim.oscar.entity;
20
21 import java.util.Collection;
22 import java.util.Collections;
23 import java.util.HashMap;
24 import java.util.Iterator;
25 import java.util.Map;
26
27 /***
28 * @author christoph
29 *
30 */
31 class BasicCapabilities implements Capabilities {
32
33 private Map map;
34
35 public BasicCapabilities() {
36 this.map = new HashMap();
37 }
38
39 public void add(Capability c) {
40 map.put(c.getName(), c);
41 }
42
43 /***
44 * @see net.sf.dexterim.oscar.entity.Capabilities#lookup(java.lang.String)
45 */
46 public Capability lookup(String name) {
47 return (Capability)map.get(name);
48 }
49
50 /* (non-Javadoc)
51 * @see net.sf.dexterim.oscar.entity.Capabilities#names()
52 */
53 public Collection names() {
54 return Collections.unmodifiableCollection(map.keySet());
55 }
56
57 /* (non-Javadoc)
58 * @see net.sf.dexterim.oscar.entity.Capabilities#iterator()
59 */
60 public Iterator iterator() {
61 return map.values().iterator();
62 }
63
64 }