Using RecordArgs is a simple two-step process:
- create a record that captures your application's configuration:
record ServerArgs(String url, int port) { }
- let
Args
parse theargs
string array to an instance of it:
// launch command: "java [...] --url localhost --port 8080"
public static void main(String[] args) throws ArgsParseException {
ServerArgs serverArgs = Args.parse(args, ServerArgs.class);
}
RecordArgs uses records' component names to identify command line arguments, their canonical constructors to create instances, and their immutability to let you freely pass them around without fear of unwanted changes.
It uses Optional
for optionality and sealed interfaces to model mutually exclusive sets of arguments, so-called "modes" or "actions".
▚Getting Started
RecordArgs is available on Maven Central:
- group ID:
dev.nipafx.args
- artifact ID:
record-args
For documentation on arguments (e.g. their names and types), args records, advanced features, and error handling, check out the README on GitHub.