⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 runtimeconfigdefsparser.java

📁 这个weblogging 设计得比较精巧
💻 JAVA
字号:
/* * RuntimeConfigDefsParser.java * * Created on June 4, 2005, 1:57 PM */package org.roller.config.runtime;import java.io.IOException;import java.io.InputStream;import java.util.Iterator;import java.util.List;import org.jdom.Document;import org.jdom.Element;import org.jdom.JDOMException;import org.jdom.input.SAXBuilder;/** * The parser for the rollerRuntimeConfigDefs.xml file. * This class uses jdom to unmarshall the xml into a series of java objects. * * @author Allen Gilliland */public class RuntimeConfigDefsParser {        /** Creates a new instance of RuntimeConfigDefsParser */    public RuntimeConfigDefsParser() {}            /**     * Unmarshall the given input stream into our defined     * set of Java objects.     **/    public RuntimeConfigDefs unmarshall(InputStream instream)         throws IOException, JDOMException {                RuntimeConfigDefs configs = new RuntimeConfigDefs();                SAXBuilder builder = new SAXBuilder();        Document doc = builder.build(instream);                Element root = doc.getRootElement();        List configdefs = root.getChildren("config-def");        Iterator iter = configdefs.iterator();        while (iter.hasNext()) {            Element e = (Element) iter.next();            configs.addConfigDef(this.elementToConfigDef(e));        }                return configs;    }            private ConfigDef elementToConfigDef(Element element) {                ConfigDef configdef = new ConfigDef();                configdef.setName(element.getAttributeValue("name"));                List displaygroups = element.getChildren("display-group");        Iterator iter = displaygroups.iterator();        while (iter.hasNext())        {            Element e = (Element) iter.next();            configdef.addDisplayGroup(this.elementToDisplayGroup(e));        }                return configdef;    }            private DisplayGroup elementToDisplayGroup(Element element) {                DisplayGroup displaygroup = new DisplayGroup();                displaygroup.setName(element.getAttributeValue("name"));        displaygroup.setKey(element.getAttributeValue("key"));                List displaygroups = element.getChildren("property-def");        Iterator iter = displaygroups.iterator();        while (iter.hasNext())        {            Element e = (Element) iter.next();            displaygroup.addPropertyDef(this.elementToPropertyDef(e));        }                return displaygroup;    }            private PropertyDef elementToPropertyDef(Element element) {                PropertyDef prop = new PropertyDef();                prop.setName(element.getAttributeValue("name"));        prop.setKey(element.getAttributeValue("key"));        prop.setType(element.getChildText("type"));        prop.setDefaultValue(element.getChildText("default-value"));                // optional elements        if(element.getChild("rows") != null)            prop.setRows(element.getChildText("rows"));                if(element.getChild("cols") != null)            prop.setCols(element.getChildText("cols"));                return prop;    }    }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -