package com.markupartist.iglaset.provider; import java.util.ArrayList; import org.xml.sax.Attributes; import org.xml.sax.SAXException; public class TagsParser extends AbstractParser<Tag> { private ArrayList<Tag> tags = new ArrayList<Tag>(); private Tag currentTag; @Override public void startDocument() throws SAXException { super.startDocument(); tags.clear(); } @Override public void onStartElement(String name, Attributes atts) { if(name.equals("tag")) { currentTag = new Tag(); String id = atts.getValue("id"); if(null != id) { currentTag.setId(Integer.parseInt(id)); } } } @Override public void onEndElement(String name, String result) { if(name.equals("tag")) { if(currentTag.getId() != Tag.UNDEFINED_ID) { tags.add(currentTag); } currentTag = null; } else if(name.equals("tag_type")) { currentTag.setType(result); } else if(name.equals("name")) { currentTag.setName(result); } } @Override protected ArrayList<Tag> getContent() { return tags; } }