Ho voluto questo tipo di comportamento prima e non ho mai trovato un modo per farlo con un metodo già fornito. Questo non vuol dire che non esiste. Una sorta di modo zoppo, è quello di aggiungere il codice da soli come ad esempio:
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);
}
}
}
Ovviamente ci sarebbero modi più belli per fare questo che il lungo if/else, possibilmente con un enum
, ma che dovrebbe essere tutto ciò che' d bisogno. Inoltre non ho compilato questo, ma penso che dovrebbe funzionare.
Questo esempio non rende obbligatorio l'interruttore "-a", poiché non è stato specificato nella domanda.
È ancora vero? – ksl