CLI Helper - library to help implementing commandline interfaces

Table of Contents

1. General

1.1. Source code

2. Overview

This is library intended to facilitate creation of commandline applications in Java programming language. Library is packaged as an artifact to Maven repository. This makes it simple to add library as dependency to your project.

Library provides following general functionalities:

2.1. Ask for user input

askBoolean()
Asks the user to enter a boolean value (yes/no).
askLong()
Asks the user to enter an integer.
askString()
Asks the user to enter a string.

3. Getting the library

Instructions to embed svjatoslav-commons library in your project:

Maven pom.xml file snippet:

<dependencies>
    ...
    <dependency>
        <groupId>eu.svjatoslav</groupId>
        <artifactId>cli-helper</artifactId>
        <version>1.1</version>
    </dependency>
    ...
</dependencies>


<repositories>
    ...
    <repository>
        <id>svjatoslav.eu</id>
        <name>Svjatoslav repository</name>
        <url>http://www3.svjatoslav.eu/maven/</url>
    </repository>
    ...
</repositories>

4. TODO:

List of improvement suggestions:

  • Add more concrete examples of how to use the library in JavaDoc comments. This will help developers quickly get started and learn the API.
  • Provide more comprehensive unit tests for CliHelper, ParameterParser, Options and subclasses. This will ensure robustness and stability.
  • Add JavaDoc comments to all classes and methods where applicable. This will provide better visibility into the library's functionality for developers.
  • Add more option types like date/time, regular expression etc.
  • Document best practices for using the library in a larger project.
  • Implement support for more complex CLI applications like option dependencies and conflicts resolution.

Author: Svjatoslav Agejenko

Created: 2023-10-29 Sun 23:23

Validate