Tutorials : Using Program Parameters in Java :

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);

How to Add Java Applets to Your Site

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.