1 7 package org.mmbase.applications.packaging.packagehandlers; 8 9 import java.util.HashMap ; 10 import java.util.Iterator ; 11 12 import org.mmbase.applications.packaging.providerhandlers.ProviderInterface; 13 import org.mmbase.applications.packaging.sharehandlers.ShareInfo; 14 15 21 public class PackageVersionContainer { 22 23 private ShareInfo shareinfo; 24 private String version; 25 26 private HashMap packages = new HashMap (); 27 28 29 34 public PackageVersionContainer(PackageInterface p) { 35 36 version = p.getVersion(); 37 } 38 39 40 46 public Object addPackage(PackageInterface p) { 47 Object o = packages.put(p.getProvider(), p); 48 if (o != null) { 49 return (o); 50 } 51 return (null); 52 } 53 54 55 61 public boolean removePackage(PackageInterface p) { 62 packages.remove(p.getProvider()); 63 return true; 64 } 65 66 67 72 public int getPackageCount() { 73 return packages.size(); 74 } 75 76 77 83 public Object get(ProviderInterface provider) { 84 Object o = packages.get(provider); 85 if (o != null) { 86 return (o); 87 } 88 return (null); 89 } 90 91 92 97 public Iterator getPackages() { 98 return ((HashMap )packages.clone()).values().iterator(); 99 } 100 101 102 108 public boolean contains(ProviderInterface provider) { 109 if (packages.get(provider) != null) { 110 return (true); 111 } else { 112 return (false); 113 } 114 } 115 116 117 122 public boolean isShared() { 123 if (shareinfo != null) { 124 return true; 125 } 126 return false; 127 } 128 129 130 135 public String getVersion() { 136 return version; 137 } 138 139 140 145 public ShareInfo getShareInfo() { 146 return shareinfo; 147 } 148 149 150 155 public PackageInterface getPackageByScore() { 156 PackageInterface winner = null; 157 Iterator e = packages.values().iterator(); 158 while (e.hasNext()) { 159 PackageInterface p = (PackageInterface)e.next(); 160 if (winner == null) { 161 winner = p; 162 } else if (p.getProvider().getBaseScore() > winner.getProvider().getBaseScore()) { 163 winner = p; 164 } 165 } 166 return winner; 167 } 168 169 } 170 171 | Popular Tags |