package com.xenoage.zong.webserver.util;
import java.util.Map;
import org.w3c.dom.Element;
import com.xenoage.utils.jse.xml.XMLReader;
/**
* Some parser helpers.
*
* @author Andreas Wenger
*/
public class Parser {
public static String getString(Element parent, String key) {
String ret = XMLReader.elementText(parent, key);
if (ret == null || ret.length() == 0) {
throw new RuntimeException(key + " must be given");
}
return ret;
}
public static int getInt(Element parent, String key) {
String value = getString(parent, key);
try {
return Integer.parseInt(value);
} catch (NumberFormatException ex) {
throw new RuntimeException("Invalid integer in " + key);
}
}
public static int getIntAttr(Element element, String attr) {
String value = XMLReader.attribute(element, attr);
try {
return Integer.parseInt(value);
} catch (NumberFormatException ex) {
throw new RuntimeException("Invalid integer in attribute " + attr + " of element " +
element.getNodeName());
}
}
public static String getString(Map<String, String[]> params, String key) {
String[] rets = params.get(key);
if (rets == null || rets.length == 0) {
throw new RuntimeException(key + " must be given");
}
return rets[0];
}
public static int getInt(Map<String, String[]> params, String key) {
String value = getString(params, key);
try {
return Integer.parseInt(value);
} catch (NumberFormatException ex) {
throw new RuntimeException("Invalid integer in " + key);
}
}
}