og.addOption(new IntegerOption(og, optionname, shortdesctext, flag, usage, defaultValue));
} else if (optiontype.equals("unary")) {
og.addOption(new UnaryOption(og, optionname, shortdesctext, flag, usage));
} else if (optiontype.equals("enum")) {
Option op = og.getOption(optionname);
EnumOption eop = null;
if (op == null) {
eop = new EnumOption(og, optionname, shortdesctext, flag, usage);
} else {
if (op instanceof EnumOption) {
eop = (EnumOption)op;
}
}
NodeList legalvalues = option.getElementsByTagName("legalvalue");
Element legalvalue;
for (int j = 0; j < legalvalues.getLength(); j++) {
legalvalue = (Element)legalvalues.item(j);
String legalvaluename = legalvalue.getAttribute("name");
String legalvaluetext = legalvalue.getTextContent();
eop.addLegalValue(legalvaluename, legalvaluetext);
}
if (op == null) {
eop.setDefaultValue(defaultValue);
og.addOption(eop);
}
} else if (optiontype.equals("class") ) {
Option op = og.getOption(optionname);