package org.sky.auto.xml;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.dom4j.Attribute;
import org.dom4j.Element;
public class XMLFrame implements XMLNode{
private Element e;
private XMLElement xelement;
public Element getElement() {
return e;
}
public void setElement(Element e) {
this.e = e;
}
@SuppressWarnings("unchecked")
public Map<String,String> getAttributes(){
Map<String,String> amap = new HashMap<String,String>();
List<Attribute> alist = getElement().attributes();
for(int i=0;i<alist.size();i++){
amap.put(alist.get(i).getName(), alist.get(i).getValue());
}
return amap;
}
public String getId(){
return getAttributes().get("id");
}
public String getValue(){
return getAttributes().get("value");
}
public String getIndex(){
return getAttributes().get("index");
}
public String getBy(){
return getAttributes().get("by");
}
@SuppressWarnings("unchecked")
public List<Attribute> getAttributeList(){
return getElement().attributes();
}
public XMLElement getXMLElement(){
collectXMLElement(getElement());
return this.xelement;
}
private void collectXMLElement(Element e){
Iterator<?> iter = e.elementIterator();
while(iter.hasNext()){
Element xe = (Element) iter.next();
if(xe.getName().toLowerCase().equals("element")){
xelement=new XMLElement();
xelement.setElement(xe);
xelement.setFrameElement(true);
break;
}else{
collectXMLElement(xe);
}
}
}
}