Project In-Line Help: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
No edit summary
Line 23: Line 23:
<syntaxhighlight lang='java'>
<syntaxhighlight lang='java'>
try {
try {
     System.out.println(InLineHelp.get());
     System.out.println(InLineHelp.get());
}
}
catch(UserErrorException e) {
catch(UserErrorException e) {
     System.err.println(e.getMessage());
     System.err.println(e.getMessage());
}
}
</syntaxhighlight>
</syntaxhighlight>

Revision as of 00:17, 24 August 2017

Internal

Overview

The best mechanism so far to display in-line help is to maintain a help.txt file within the resources of the project, embed it into the root of the JAR artifact and dump it at stdout when needed.

Place the text help file ("help.txt" or "HELP.txt") in ./src/main/resources of the project, so it will be automatically bundled by Maven into the final JAR.

The code that reads the help file is the self-contained class InLineHelp that can be placed in the util package of the project.

Implementation

There's a novaordis-utilities version, in case the project already depends on novaordis-utilities:

https://github.com/NovaOrdis/novaordis-utilities/blob/master/src/main/java/io/novaordis/utilities/help/InLineHelp.java

InLineHelp.java can be used as a starting point for a standalone implementation.

Usage

try {

    System.out.println(InLineHelp.get());
}
catch(UserErrorException e) {

    System.err.println(e.getMessage());
}