Skip to content

phonyphonecall/aargvark

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

aargvark

Concise annotation driven argument parsing for java.

Examples

The goal is to give the program one source of truth for all arguments, with almost no work for the user.

In our example here we need to configure a client with a server host, and port. The first step is to create the class to hold configuration information.

    @Aargvark
    public static class Config {

        @Aargument(shortName = 'h', usage = "the hostname or IP address of the server", require = true)
        public String host;

        @Aargument(shortName = 'p', usage = "the port number", require = true)
        public int port;
    }

Now to parse those argmuments

public static void main(String[] args) {
  Config config = new Config();
  try {
    new KingAargvark(args).marshal(config);
  }  catch (AargvarkException e) {
    e.printStackTrace();
  }
  connectToServer(config.host, config.port);
  ...
}

Finally lets run our client.

java client -h host.com -p 8080

or

java client --host host.com --port 8080

By letting aargvark do the heavy lifting, users get flexable and simple argument parsing, with almost no boilerplate.

##Features

###Usage Printing

> java client --help
Usage:
  -h  --host  the hostname or IP address of the server
  -p  --port  the port number

About

Concise annotation driven argument parsing for java.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages