package tc.oc.pgm.xml.parser;
import javax.inject.Inject;
import tc.oc.pgm.xml.InvalidXMLException;
import tc.oc.pgm.xml.Node;
public class BooleanParser extends PrimitiveParser<Boolean> {
private static final BooleanParser INSTANCE = new BooleanParser();
public static BooleanParser get() { return INSTANCE; }
@Inject private BooleanParser() {}
@Override
public Boolean parseInternal(Node node, String text) throws FormatException, InvalidXMLException {
if("true".equalsIgnoreCase(text) || "yes".equalsIgnoreCase(text) || "on".equalsIgnoreCase(text)) {
return true;
}
if("false".equalsIgnoreCase(text) || "no".equalsIgnoreCase(text) || "off".equalsIgnoreCase(text)) {
return false;
}
throw new FormatException();
}
}