Сгрупировать несколько параметров в один класс. 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 корректно парсился ?


Ответы (0 шт):