| 1 10 11 package org.mmbase.applications.packaging.bundlehandlers; 12 13 import java.util.HashMap ; 14 import java.util.Iterator ; 15 16 import org.mmbase.applications.packaging.providerhandlers.ProviderInterface; 17 import org.mmbase.applications.packaging.sharehandlers.ShareInfo; 18 19 25 public class BundleVersionContainer { 26 27 private ShareInfo shareinfo; 28 29 private HashMap bundles=new HashMap (); 30 31 public BundleVersionContainer(BundleInterface b) { 32 bundles.put(b.getProvider(),b); 33 } 34 35 public Object addBundle(BundleInterface b) { 36 Object o=bundles.put(b.getProvider(),b); 37 if (o!=null) { 38 return(o); 39 } 40 return(null); 41 } 42 43 44 public boolean removeBundle(BundleInterface b) { 45 bundles.remove(b.getProvider()); 46 return true; 47 } 48 49 public int getBundleCount() { 50 return bundles.size(); 51 } 52 53 public Object get(ProviderInterface provider) { 54 Object o = bundles.get(provider); 55 if (o != null) { 56 return o; 57 } 58 return null; 59 } 60 61 public Iterator getBundles() { 62 return ((HashMap )bundles.clone()).values().iterator(); 63 } 64 65 66 public boolean contains(ProviderInterface provider) { 67 if (bundles.get(provider) != null) { 68 return true; 69 } else { 70 return false; 71 } 72 } 73 74 public boolean isShared() { 75 if (shareinfo != null) { 76 return true; 77 } 78 return false; 79 } 80 81 public ShareInfo getShareInfo() { 82 return shareinfo; 83 } 84 85 public BundleInterface getBundleByScore() { 86 BundleInterface winner = null; 87 Iterator e = bundles.values().iterator(); 88 while (e.hasNext()) { 89 BundleInterface b = (BundleInterface)e.next(); 90 if (winner == null) { 91 winner = b; 92 } else if (b.getProvider().getBaseScore() > winner.getProvider().getBaseScore()) { 93 winner = b; 94 } 95 } 96 return winner; 97 } 98 99 } 100 | Popular Tags |