@Options(name="--in-file")
String fileName;
@Option(name="--table")
String table;
I would like to make the --table
option be required if and only if no value is given for --in-file
. How might I go about doing this? I know that there are some solutions (I think at least) where I can do this with multiple classes, but that seems like overkill for only two arguments in a simple program.
I know I can also manually check the values after the parsing is completed, but that seems to defeat the purpose of using args4j.
You can use forbids
as you mentioned.
@Options(name="--in-file", forbids{"--table"})
String fileName;
@Option(name="--table", forbids={"--in-file"})
String table;
And you can add check-condition in your class.
if (fileName == null && table == null) {
throw new CmdLineException();
}
You can set exception message same with message shown when required
option set.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With