Сгрупировать несколько параметров в один класс. args4j
Всем привет
есть такой main
public class Demo {
public static void main(String[] args) throws CmdLineException {
Parameters parameters = new Parameters();
ParserProperties parserProperties = ParserProperties.defaults();
parserProperties.withOptionValueDelimiter("=");
CmdLineParser parser = new CmdLineParser(parameters, parserProperties);
parser.parseArgument(args);
System.out.println(parameters.type);
System.out.println(parameters.filters.dateFilter);
System.out.println(parameters.filters.nameFilter);
}
}
Parameters
class Parameters {
@Option(required = true, name = "--type")
public String type;
public Filters filters;
}
Filters
class Filters {
@Option(required = true, name = "--date-filter")
public String dateFilter;
@Option(required = true, name = "--name-filter")
public String nameFilter;
}
Очень принципиально, чтобы dateFilter и nameFilter были в одном классе Filters.
Запускаю код с такими параметрами --type=typeeeeee --date-filter=date-filterrrrrr --name-filter=name-filterrrrrr
Падает с ошибкойCmdLineException: "--date-filter=date-filterrrrrr" is not a valid option
Что нужно добавить, чтобы Filters корректно парсился ?