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 }