обработчик значения по умолчанию commons-cli, когда опция замечена - PullRequest
0 голосов
/ 06 апреля 2019

С commons-cli есть ли способ справиться с этим сценарием?

-x или -x 3.В принципе, если -x, если он указан, я хочу, чтобы значение -x по умолчанию равнялось 0.Если -x содержит целое число (-x 10), используйте указанное целое число в качестве значения x.Если -x не предоставлено, то -x со значением null или не существует.

Прямо сейчас у меня есть следующее

Option x = Option.builder("x")
                .required(false)
                .optionalArg(true)
                .type(Integer.class)
                .build();

options.addOption(x);
CommandLineParser parser = new DefaultParser();
CommandLine cmd = parser.parse(options, args);
xValue = Integer.valueOf(cmd.getOptionValue("x", "0"));

Фрагмент выше даст-x значение 0, если оно не указано или предоставляется только -x

...