throw new CommandLineParserException("Commands must be annotated with @CommandDefinition or @GroupCommandDefinition");
}
private static void processCommand(ProcessedCommand processedCommand, Class<? extends Command> clazz) throws CommandLineParserException {
for(Field field : clazz.getDeclaredFields()) {
Option o;
OptionGroup og;
OptionList ol;
Arguments a;
if((o = field.getAnnotation(Option.class)) != null) {
OptionType optionType;
if(o.hasValue())
optionType = OptionType.NORMAL;
else
optionType = OptionType.BOOLEAN;
if(o.name() == null || o.name().length() < 1) {
processedCommand.addOption(
/*
o.shortName(), field.getName(), o.description(),
o.argument(), o.required(), ',', o.defaultValue(),
field.getType(), field.getName(), optionType, o.converter(),
o.completer(), o.validator(), o.activator(), o.renderer(), o.overrideRequired());
*/
new ProcessedOptionBuilder()
.shortName(o.shortName())
.name(field.getName())
.description(o.description())
.required(o.required())
.valueSeparator(',')
.addAllDefaultValues(o.defaultValue())
.type(field.getType())
.fieldName(field.getName())
.optionType(optionType)
.converter(o.converter())
.completer(o.completer())
.validator(o.validator())
.activator(o.activator())
.renderer(o.renderer())
.overrideRequired(o.overrideRequired())
.create()
);
}
else {
processedCommand.addOption(
//o.shortName(), o.name(), o.description(),
//o.argument(), o.required(), ',', o.defaultValue(),
//field.getType(), field.getName(), optionType, o.converter(),
//o.completer(), o.validator(), o.activator(), o.renderer(), o.overrideRequired());
new ProcessedOptionBuilder()
.shortName(o.shortName())
.name(o.name())
.description(o.description())
.required(o.required())
.valueSeparator(',')
.addAllDefaultValues(o.defaultValue())
.type(field.getType())
.fieldName(field.getName())
.optionType(optionType)
.converter(o.converter())
.completer(o.completer())
.validator(o.validator())
.activator(o.activator())
.renderer(o.renderer())
.overrideRequired(o.overrideRequired())
.create());
}
}