/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package org.petah.spring.bai.util; import java.io.File; import java.io.PrintWriter; import java.util.logging.Level; import java.util.logging.Logger; import org.petah.common.option.Option; import org.petah.common.option.OptionsManager; /** * * @author Petah */ public class CustomOptionIO { public static void save(File file) { PrintWriter writer = null; try { writer = new PrintWriter(file); writer.println("<options>"); for (String name : OptionsManager.getOptions().keySet()) { Option option = OptionsManager.getOption(name); if (option.getMetaOptionValue("transient") == null || !(Boolean) option.getMetaOptionValue("transient")) { writer.println(" <option name=\"" + name + "\" type=\"" + option.getValue().getClass().getName() + "\">"); writer.println(" <value>" + option.getValue() + "</value>"); for (Object metaName : option.getMetaOptions().keySet()) { Option metaOption = option.getMetaOption((String) metaName); if (metaName.equals("description")) { writer.println(" <!-- " + metaOption.getValue() + " -->"); } else if (metaName.equals("values")) { writer.println(" <!-- Values: " + metaOption.getValue() + " -->"); } else { writer.println(" <metaoption name=\"" + metaName + "\">"); writer.println(" <value type=\"" + metaOption.getValue().getClass().getName() + "\">" + metaOption.getValue() + "</value>"); writer.println(" </metaoption>"); } } writer.println(" </option>"); } } writer.println("</options>"); } catch (Exception ex) { Logger.getLogger(CustomOptionIO.class.getName()).log(Level.SEVERE, null, ex); } finally { writer.close(); } } public static void load(File file) { } }