From 169853692017480d065208cb768b83f1014cf68a Mon Sep 17 00:00:00 2001 From: Andreas Baumann Date: Wed, 26 Feb 2020 07:34:48 +0100 Subject: added jargs, made it build again, but it bases on a really old Lucene 3.5.0, so it's no longer of any use for modern Lucene/SolR/ElasticSearch --- .../jargs-1.0/examples/gnu/AutoHelpParser.java | 87 ++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 3rdParty/jargs-1.0/examples/gnu/AutoHelpParser.java (limited to '3rdParty/jargs-1.0/examples/gnu/AutoHelpParser.java') diff --git a/3rdParty/jargs-1.0/examples/gnu/AutoHelpParser.java b/3rdParty/jargs-1.0/examples/gnu/AutoHelpParser.java new file mode 100644 index 0000000..f42ec5f --- /dev/null +++ b/3rdParty/jargs-1.0/examples/gnu/AutoHelpParser.java @@ -0,0 +1,87 @@ +package jargs.examples.gnu; + +import jargs.gnu.CmdLineParser; + +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +/** + * This example shows how to dynamically create basic output for a --help option. + */ +public class AutoHelpParser extends CmdLineParser { + List optionHelpStrings = new ArrayList(); + + public Option addHelp(Option option, String helpString) { + optionHelpStrings.add(" -" + option.shortForm() + "/--" + option.longForm() + ": " + helpString); + return option; + } + + public void printUsage() { + System.err.println("usage: prog [options]"); + for (Iterator i = optionHelpStrings.iterator(); i.hasNext(); ) { + System.err.println(i.next()); + } + } + + public static void main( String[] args ) { + AutoHelpParser parser = new AutoHelpParser(); + CmdLineParser.Option verbose = parser.addHelp( + parser.addBooleanOption('v', "verbose"), + "Print extra information"); + CmdLineParser.Option size = parser.addHelp( + parser.addIntegerOption('s', "size"), + "The extent of the thing"); + CmdLineParser.Option name = parser.addHelp( + parser.addStringOption('n', "name"), + "Name given to the widget"); + CmdLineParser.Option fraction = parser.addHelp( + parser.addDoubleOption('f', "fraction"), + "What percentage should be discarded"); + CmdLineParser.Option help = parser.addHelp( + parser.addBooleanOption('h', "help"), + "Show this help message"); + + try { + parser.parse(args); + } + catch ( CmdLineParser.OptionException e ) { + System.err.println(e.getMessage()); + parser.printUsage(); + System.exit(2); + } + + if ( Boolean.TRUE.equals(parser.getOptionValue(help))) { + parser.printUsage(); + System.exit(0); + } + + // Extract the values entered for the various options -- if the + // options were not specified, the corresponding values will be + // null. + Boolean verboseValue = (Boolean)parser.getOptionValue(verbose); + Integer sizeValue = (Integer)parser.getOptionValue(size); + String nameValue = (String)parser.getOptionValue(name); + Double fractionValue = (Double)parser.getOptionValue(fraction); + + // For testing purposes, we just print out the option values + System.out.println("verbose: " + verboseValue); + System.out.println("size: " + sizeValue); + System.out.println("name: " + nameValue); + System.out.println("fraction: " + fractionValue); + + // Extract the trailing command-line arguments ('a_nother') in the + // usage string above. + String[] otherArgs = parser.getRemainingArgs(); + System.out.println("remaining args: "); + for ( int i = 0; i < otherArgs.length; ++i ) { + System.out.println(otherArgs[i]); + } + + // In a real program, one would pass the option values and other + // arguments to a function that does something more useful. + + System.exit(0); + } + +} -- cgit v1.2.3-54-g00ecf