/shapp

Shapp is a utility to simplify development of shell (command line interface) Java applications.

Primary LanguageJava

Shapp

Shapp is a utility to simplify development of shell (command line interface) Java applications.

You can declare shell commands simply by annotating java methods. E.g. to add helloWorld command to your shell application you create public void helloWorld() method and annotate it with @ShellMethod annotation:

public class MyShellApp extends ShellApplication {

    public static void main(String[] args) {
        // Scan annotated methods and start the console
        new MyShellApp().start();
    }

    @ShellMethod(
            description = "says hello to my new buddy",
            params = {"buddy name"})
    public void helloWorld(String buddyName) {
        System.out.println("Hello " + buddyName + ". Have a nice day.");
    }

}

Now, after running your command line Java application your helloWorld command is ready for invocation.

MyShellApp started.
Type 'help' to print all methods.

help lists available commands with their description. Notice that our annotated helloWorld method is automatically listed among other commands. There are also three common build-in commands on your disposal - help, exit and params.

help
method name - description
----------- - -----------
helloWorld  - says hello to my new buddy
params      - prints input params of a command
exit        - exits the application
help        - prints this help

helloWorld does what we determined it to do. It prints hello message after we type in the buddy name:

helloWorld
buddy name: Rachel
Hello Rachel. Have a nice day.

params command comes handy to examine all input parameters of any available command:

params
method name: helloWorld
    buddy name

exit command finishes the application.

exit
Closing the application.