Je voulais ce genre de comportement auparavant, et je n'ai jamais trouvé un moyen de le faire avec une méthode déjà fournie. Cela ne veut pas dire que ça n'existe pas. Une sorte de chemin boiteux, est d'ajouter le code vous-même comme:
private void checkSuitableValue(CommandLine line) {
if(line.hasOption("a")) {
String value = line.getOptionValue("a");
if("foo".equals(value)) {
println("OK");
} else if("bar".equals(value)) {
println("OK");
} else {
println(value + "is not a valid value for -a");
System.exit(1);
}
}
}
Il est évident qu'il y aurait plus agréables façons de le faire que le long if/else, peut-être avec un enum
, mais cela devrait être tout ce que vous » d besoin. Aussi, je n'ai pas compilé cela, mais je pense que ça devrait marcher.
Cet exemple ne rend pas non plus obligatoire le commutateur "-a", car cela n'a pas été spécifié dans la question.
Est-ce encore vrai? – ksl