|
1. Define
CLI uses the word "options" for parameters, and use
the Option class and the Options
container class for definitions. A quick intro:
An option without arguments:
Option option = new Option("verbose", "show a lot of information");
The first parameter to Option is the name used on
the command line. The next parameter is used when CLI types out
"usage information".
An option with one argument:
Option option = new Option("file", "name of log
file"); option.setArgs(1);
option.setArgName("filename");
The "ArgName" is the text used for the
argument in the usage information.
If the option is required then add:
option.setRequired(true);
An option with one optional argument:
Option option = new Option("sort", "sort the result");
option.setArgs(1);
option.setArgName("sort order");
option.setOptionalArg(true);
Using this syntax the user may either just enter "-
sort" or maybe "-sort descending" or "-sort
ascending".
An option with several arguments:
Option option = new Option("weekday", "select weekdays");
option.setArgs(7);
option.setArgName("name of day(s)");
Let me show you how to use CLI to parse a command line for a
program that reads a log file. Let's assume that the file
contains information about activities for the users of some
application. The command line syntax to parse is this:
-file <filename> name of log file to read (required)
-user <userid(s)> show only data for these userid(s)
-verbose show a lot of information
Here's the code you need to define this syntax:
Option option1 =
new Option("file", "name of log file to read (required)");
option1.setRequired(true);
option1.setArgs(1);
option1.setArgName("filename");
Option option2 =
new Option("user", "show only data for these userid(s)");
option2.setArgs(Option.UNLIMITED_VALUES);
option2.setArgName("userid(s)");
Option option3 =
new Option("verbose", "show a lot of information");
Options options = new Options();
options.addOption(option1);
options.addOption(option2);
options.addOption(option3);
New on the Java Boutique:
New Review:
Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling
API boasts simplicity, ease-of-integration, a well-rounded feature
set, and it's free!
New Applet:
Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA
sequences into three useful formats.
Elsewhere on internet.com:
WebDeveloper Java
Lots of Java information on webdeveloper.com
WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.
ScriptSearch Java
Hundreds of free Java code files to download.
jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.
|