java – 使用Apache Commons CLI的互斥选项
发布时间:2020-05-25 16:31:57 所属栏目:Java 来源:互联网
导读:我可以使用以下方法创建2个互斥选项: Option a = OptionBuilder.create(a);Option b = OptionBuilder.create(b);OptionGroup optgrp = new OptionGroup();optgrp .setRequired(true);optgrp .addOption(a);optgrp .addOpti
|
我可以使用以下方法创建2个互斥选项: Option a = OptionBuilder.create("a");
Option b = OptionBuilder.create("b");
OptionGroup optgrp = new OptionGroup();
optgrp .setRequired(true);
optgrp .addOption(a);
optgrp .addOption(b);
以上将强制用户提供选项a或选项b. 但如果我有第三种选择,c: Option c = OptionBuilder.create("c");
是否可以创建互斥选项,以便: 或者: >必须提供选项a或 我看不到使用OptionGroup的方法吗? 解决方法作为解决方法,我实现了以下,不理想,但..public static void validate(final CommandLine cmdLine) {
final boolean aSupplied = cmdLine.hasOption(A);
final boolean bAndCSupplied = cmdLine.hasOption(B) && cmdLine.hasOption(C);
final boolean bOrCSupplied = !bAndCSupplied && (cmdLine.hasOption(B) || cmdLine.hasOption(C));
if ((aSupplied && bAndCSupplied) || (!aSupplied && !bAndCSupplied)
|| (aSupplied && bOrCSupplied )) {
throw new Exception(...);
}
} (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
