1 18 package org.columba.core.scripting.extensions; 19 20 import java.util.Enumeration ; 21 import java.util.Map ; 22 import java.util.TreeMap ; 23 import java.util.Vector ; 24 25 26 29 public class ExtensionPointManager 30 { 31 32 private Map extensionPoints = null; 33 private static ExtensionPointManager self = null; 34 35 private ExtensionPointManager() 36 { 37 extensionPoints = new TreeMap (); 38 39 initDefaultExtensionPoints(); 40 } 41 42 private void initDefaultExtensionPoints() 43 { 44 addExtensionPoint(new MenuExtensionPoint()); 45 addExtensionPoint(new ToolbarExtensionPoint()); 46 } 47 48 public static ExtensionPointManager getInstance() 49 { 50 if (self == null) 51 self = new ExtensionPointManager(); 52 53 return self; 54 } 55 56 public void addExtensionPoint(AbstractExtensionPoint point) 57 { 58 extensionPoints.put(point.getId(),point); 59 } 60 61 public void removeExtensionPoint(String id) 62 { 63 extensionPoints.remove(id); 64 } 65 66 public AbstractExtensionPoint getExtensionPoint(String id) 67 { 68 return (AbstractExtensionPoint)extensionPoints.get(id); 69 } 70 71 public Enumeration enumExtensionPoints() 72 { 73 return (new Vector (extensionPoints.values())).elements(); 74 } 75 76 } 77 | Popular Tags |