1 26 package net.sf.javaguard; 27 28 import java.util.*; 29 30 35 public class Pk extends PkCl { 36 37 private Map pks = new TreeMap(); 38 39 40 43 public static Pk createRoot(ClassTree classTree) { 44 return new Pk(classTree); 45 } 46 47 48 49 50 53 public Pk(ClassTree classTree) { 54 this(null, ""); 55 setClassTree(classTree); 56 } 57 58 59 61 public Pk(TreeItem parent, String name) { 62 super(parent, name); 63 if (null == parent && !name.equals("")) { 64 throw new InternalError ("Internal error: only the default package has no parent"); 65 } 66 else if (null != parent && name.equals("")) { 67 throw new InternalError ("Internal error: the default package cannot have a parent"); 68 } 69 } 70 71 72 76 public Pk getPackage(String name) { 77 return (Pk) pks.get(name); 78 } 79 80 81 84 public Iterator getPackageIterator() { 85 return pks.values().iterator(); 86 } 87 88 89 92 public int getPackageCount() { 93 return pks.size(); 94 } 95 96 97 101 public Pk addPackage(String name) { 102 Pk pk = getPackage(name); 103 if (pk == null) { 104 pk = new Pk(this, name); 105 pks.put(name, pk); 106 } 107 return pk; 108 } 109 110 111 118 public Cl addClass(String name, String superName, String [] interfaceNames) { 119 return addClass(name, false, superName, interfaceNames); 120 } 121 122 123 127 public Cl addPlaceholderClass(String name) { 128 return addPlaceholderClass(name, false); 129 } 130 131 132 134 public void generateNames() { 135 super.generateNames(); 136 generateNames(pks); 137 } 138 } 139 | Popular Tags |