使用Commons CLI重复选项组?

时间:2015-05-08 02:28:24

标签: java command-line-arguments apache-commons-cli

我有一组特定的解析命令行选项的要求。我的意图与Linux beep命令不同,在该命令中,您可以指定不同频率和持续时间的多次蜂鸣声。我恰好使用4位颜色。

有效输入系列的示例:

-z 1 -r 5 -g 2 -b 12 -z 4 --color=ffe --zone=3 --color=8,8,4

-z或--zone是启动新选项组的分隔符。可以使用-r / g / b设置或--color指定颜色。我希望自己处理解析。

无效输入的示例:

--zone=1 -r 12 -g 15 -z 3 -r 8 -g 6 -b 10 -b 18

这说明了为什么我不能只使用一系列选项。我的程序需要能够在--zone=1和下一个区域之间识别并提醒它,它在-z 3和结束之间找不到-b,参数,它发现两个-b。使用getOptionValues()提供的数组,我只会看到-r / g / b各有两个,并假设没有问题,因为它们没有绑定到任何类型的父组或组。

我需要知道Commons CLI是否可以处理重复的 groups 选项,或者我是否需要切换到另一个解析器,或者如果我最好自己编写我自己的解析器选项。

0 个答案:

没有答案