in src/main/java/org/apache/commons/cli/DefaultParser.java [448:477]
private void handleProperties(final Properties properties) throws ParseException {
if (properties == null) {
return;
}
for (final Enumeration<?> e = properties.propertyNames(); e.hasMoreElements();) {
final String option = e.nextElement().toString();
final Option opt = options.getOption(option);
if (opt == null) {
throw new UnrecognizedOptionException("Default option wasn't defined", option);
}
// if the option is part of a group, check if another option of the group has been selected
final OptionGroup group = options.getOptionGroup(opt);
final boolean selected = group != null && group.isSelected();
if (!cmd.hasOption(option) && !selected) {
// get the value from the properties
final String value = properties.getProperty(option);
if (opt.hasArg()) {
if (Util.isEmpty(opt.getValues())) {
opt.processValue(stripLeadingAndTrailingQuotesDefaultOff(value));
}
} else if (!("yes".equalsIgnoreCase(value) || "true".equalsIgnoreCase(value) || "1".equalsIgnoreCase(value))) {
// if the value is not yes, true or 1 then don't add the option to the CommandLine
continue;
}
handleOption(opt);
currentOption = null;
}
}
}