1 package org.columba.addressbook.config; 19 20 import java.io.File ; 21 22 import org.columba.core.config.Config; 23 import org.columba.core.config.DefaultXmlConfig; 24 import org.columba.core.io.DiskIO; 25 import org.columba.core.xml.XmlElement; 26 27 34 public class AddressbookConfig { 35 36 public static final String MODULE_NAME = "addressbook"; 37 38 protected Config config; 39 40 protected File path; 41 42 private File addressbookOptionsFile; 44 45 private File folderFile; 46 47 private static AddressbookConfig instance = new AddressbookConfig(Config.getInstance()); 48 49 52 public AddressbookConfig(Config config) { 53 this.config = config; 54 path = new File (config.getConfigDirectory(), MODULE_NAME); 55 DiskIO.ensureDirectory(path); 56 57 addressbookOptionsFile = new File (path, "options.xml"); 58 registerPlugin(addressbookOptionsFile.getName(), new DefaultXmlConfig( 59 addressbookOptionsFile)); 60 61 folderFile = new File (path, "tree.xml"); 62 registerPlugin(folderFile.getName(), new DefaultXmlConfig(folderFile)); 63 64 File mainToolBarFile = new File (path, "main_toolbar.xml"); 65 registerPlugin(mainToolBarFile.getName(), new DefaultXmlConfig( 66 mainToolBarFile)); 67 } 68 69 public File getConfigDirectory() { 70 return path; 71 } 72 73 80 public XmlElement get(String name) { 81 DefaultXmlConfig xml = getPlugin(name + ".xml"); 82 83 return xml.getRoot(); 84 } 85 86 92 protected void registerPlugin(String id, DefaultXmlConfig plugin) { 93 config.registerPlugin(MODULE_NAME, id, plugin); 94 } 95 96 102 protected DefaultXmlConfig getPlugin(String id) { 103 return config.getPlugin(MODULE_NAME, id); 104 } 105 106 109 public static AddressbookConfig getInstance() { 110 return instance; 111 } 112 } | Popular Tags |