2012-07-20 14 views
5

Mi chiedo se esiste un modo nella libreria CLI di Apache Commons per specificare che deve essere fornito esattamente un argomento?Richiedere un argomento solo nella CLI di Apache Commons?

E.g. Ho 2 argomenti della riga di comando, ma uno (non più o niente di meno) deve essere fornito? Voglio l'ip o msisdn, ma non né l'uno né l'altro:

OptionBuilder.hasArg(true); 
OptionBuilder.withDescription("Bla bla"); 
OptionBuilder.isRequired(false); 
commandLineOptions.addOption(OptionBuilder.create("ip")); 

OptionBuilder.hasArg(true); 
OptionBuilder.withDescription("Bla bla"); 
OptionBuilder.isRequired(false); 
commandLineOptions.addOption(OptionBuilder.create("msisdn")); 

Mille grazie!

risposta

8

Sembra che si desideri un OptionGroup obbligatorio contenente i due valori Option mutuamente esclusivi. Aggiungi il gruppo di opzioni a commandLineOptions.

(Questa è solo una supposizione sulla base della documentazione. Non ho mai effettivamente utilizzato il progetto stesso ...)

+0

Grazie Jon, questo funziona. – Rory