/* * Copyright (C) 2010---2014 星星(wuweixing)<349446658@qq.com> * * This file is part of Wabacus * * Wabacus is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ package com.wabacus.config.resource; import java.util.ArrayList; import java.util.List; import org.dom4j.Element; import com.wabacus.config.xml.XmlAssistant; import com.wabacus.config.xml.XmlElementBean; import com.wabacus.exception.WabacusConfigLoadingException; public class OptionRes extends AbsResource { public Object getValue(Element itemElement) { if(itemElement==null) { throw new WabacusConfigLoadingException("在资源文件中没有配置选项资源项"); } Element eleOptions=itemElement.element("options"); if(eleOptions==null) { throw new WabacusConfigLoadingException("在资源文件中配置的资源项" +itemElement.attributeValue("key")+"不是有效的选项资源项,必须以<options/>做为其顶层标签"); } List lstOptionElements=eleOptions.elements("option"); if(lstOptionElements==null||lstOptionElements.size()==0) { return new ArrayList<XmlElementBean>(); } List<XmlElementBean> lstOptions=new ArrayList<XmlElementBean>(); XmlElementBean xeleOptionTmp; Element eleOption; for(int i=0;i<lstOptionElements.size();i++) { eleOption=(Element)lstOptionElements.get(i); if(eleOption==null) continue; xeleOptionTmp=XmlAssistant.getInstance().parseXmlValueToXmlBean(eleOption); lstOptions.add(xeleOptionTmp); } return lstOptions; } }