Skip to content

Latest commit

 

History

History
88 lines (63 loc) · 2.09 KB

README.markdown

File metadata and controls

88 lines (63 loc) · 2.09 KB

Chicory CLI

Chicory CLI is a command line parsing library.

Chicory CLI is part of Chicory.

Licence

Chicory CLI is provided by means of BSD-3 Clause Licence.

Usage

Maven

    <dependency>
        <groupId>com.github.sviperll</groupId>
        <artifactId>easycli4j</artifactId>
        <version>0.18</version>
    </dependency>

Changelog

Since 0.18

  • Switch to chicory version 0.18.

Example

Here is a full Hello world example

    class Hello {

        public static void main(String[] args) {
            Hello hello = new Hello();
            CLISpecification cli = new CLISpecification(System.out);
            cli.add('n', "name", "Your name", CLIHandlers.string(hello.name));
            cli.add("prefix", "Prefix for your name, i. e. Mr, Mrs, Dr, Sir", CLIHandlers.string(hello.prefix));
            try {
                cli.run(args);
                application.run();
            } catch (CLIException ex) {
                System.out.println(ex.getMessage());
                System.out.println("usage: hello [OPTIONS]");
                try {
                    cli.usage();
                } catch (IOException ex1) {
                    ex1.printStackTrace(System.out);
                }
            } catch (IOException ex) {
                ex.printStackTrace(System.out);
            }
        }

        private Property<String> name = new Property<String>(null);
        private Property<String> prefix = new Property<String>("Mr.");

        private void run() {
            System.out.println("Hello " + prefix.get() + " " + name.get());
        }

    }

When you compile it and run like

java -jar hello.jar -n John --prefix=Sir.

You'll get the following

Hello Sir. John

You can get usage-message like this:

java -jar hello.jar -h

You'll get the following answer

Unknown option -h
usage: hello [OPTIONS]
                 -n OPTION      Your name
                --name=OPTION   Your name
                --prefix=OPTION Prefix for your name, i. e. Mr, Mrs, Dr, Sir (default Mr.)