1 package org.andromda.cartridges.mgmt; 2 3 import java.util.Collection; 4 import java.util.HashMap; 5 import java.util.ArrayList; 6 7 import org.andromda.cartridges.interfaces.IAndroMDACartridge; 8 9 /*** 10 * Dictionary that registers cartridges under a stereotype. It can manage more 11 * than one cartridge with the same stereotype. 12 * 13 * @since 01.04.2003 14 * @author <a href="http://www.mbohlen.de">Matthias Bohlen</a> 15 * 16 */ 17 public class CartridgeDictionary 18 { 19 private HashMap hm = new HashMap(); 20 21 /*** 22 * Adds a cartridge to the dictionary. 23 * 24 * @param stereotype the stereotype that is supported by this cartridge 25 * @param desc the cartridge descriptor 26 */ 27 public void addCartridge (String stereotype, IAndroMDACartridge desc) 28 { 29 if (hm.containsKey(stereotype)) 30 { 31 ArrayList v = (ArrayList)hm.get(stereotype); 32 v.add(desc); 33 } 34 else 35 { 36 ArrayList v = new ArrayList(); 37 v.add(desc); 38 hm.put(stereotype, v); 39 } 40 } 41 42 43 /*** 44 * Looks up all cartridges that support a given stereotype. 45 * 46 * @param stereotype the stereotype 47 * @return Collection collection of cartridges 48 */ 49 public Collection lookupCartridges (String stereotype) 50 { 51 return (ArrayList)hm.get(stereotype); 52 } 53 }