InfoXMLHandler.java
- package gov.usgs.earthquake.shakemap;
- import gov.usgs.util.XmlUtils;
- import java.util.HashMap;
- import org.xml.sax.Attributes;
- import org.xml.sax.helpers.DefaultHandler;
- /**
- * Parser for ShakeMap info.xml metadata.
- */
- public class InfoXMLHandler extends DefaultHandler {
- private static final String XML_TAG = "tag";
- private static final String XML_NAME = "name";
- private static final String XML_VALUE = "value";
- private HashMap<String, String> info = new HashMap<String, String>();
- /**
- * Construct a new SAX Handler for an info.xml document.
- */
- public InfoXMLHandler() {
- }
- /**
- * @param in
- * - the file or stream to parse
- * @return the ShakeMap associated with this XML handler
- * @throws Exception if error occurs
- */
- public HashMap<String, String> parse(final Object in) throws Exception {
- XmlUtils.parse(in, this);
- return this.info;
- }
- /**
- * @return the parsed info.
- */
- public HashMap<String, String> getInfo() {
- return this.info;
- }
- /**
- * @param uri
- * - the uri for this element
- * @param localName
- * - the local name for this element
- * @param qName
- * - the fully-qualified name for this element
- * @param attributes
- * - the attributes of the element
- */
- public final void startElement(final String uri, final String localName,
- final String qName, final Attributes attributes) {
- if (localName.equals(XML_TAG)) {
- info.put(attributes.getValue(XML_NAME),
- attributes.getValue(XML_VALUE));
- }
- }
- }