package edu.unc.ils.mrc.hive.converter.mesh.handlers;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.XMLReader;
import org.xml.sax.helpers.DefaultHandler;
/**
* Handler for the ConceptList element.
*/
public class ConceptListHandler extends MeshHandler
{
private static final Log logger = LogFactory.getLog(ConceptListHandler.class);
List<Concept> concepts = new ArrayList<Concept>();
public ConceptListHandler(XMLReader parser, DefaultHandler parent) {
super(parser, parent);
}
public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException
{
logger.trace("startElement: " + uri + "," + localName + "," + qName + "," + attributes);
if (qName.equals("Concept")) {
DescriptorHandler handler = new DescriptorHandler(parser, this);
childHandler = handler;
parser.setContentHandler(handler);
}
}
public void endElement(String uri, String localName, String qName) throws SAXException
{
logger.trace("endElement: " + uri + "," + localName + "," + qName);
if (qName.equals("Concept")) {
//Concept concept = ((ConceptHandler)childHandler).getConcept();
//concepts.add(concept);
//System.out.println("Concept name: " + concept.getName());
}
else if (qName.equals("ConceptList")) {
parser.setContentHandler(parent);
}
}
/**
* Returns a list of Concepts contained within this ConceptList
* @return
*/
public List<Concept> getConcepts() {
return concepts;
}
}