<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to Home</title><link>https://sourceforge.net/p/jclilib/wiki/Home/</link><description>Recent changes to Home</description><atom:link href="https://sourceforge.net/p/jclilib/wiki/Home/feed" rel="self"/><language>en</language><lastBuildDate>Thu, 25 Oct 2012 14:36:45 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/jclilib/wiki/Home/feed" rel="self" type="application/rss+xml"/><item><title>WikiPage Home modified by Paul_A._Rubin</title><link>https://sourceforge.net/p/jclilib/wiki/Home/</link><description>&lt;pre&gt;--- v2
+++ v3
@@ -19,6 +19,9 @@
 
 The code base includes a set of JUnit tests and a small test program that you can use to verify the features of `OptionManager`.
 
+#####Related Projects#####
+
+You might also want to take a look at the [Apache Commons CLI library](http://commons.apache.org/cli/).
 
 
 [[project_admins]]
&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Paul_A._Rubin</dc:creator><pubDate>Thu, 25 Oct 2012 14:36:45 -0000</pubDate><guid>https://sourceforge.netcfb8857ba3ae56708b3d0d202274c2bb80aa2a86</guid></item><item><title>WikiPage Home modified by Paul_A._Rubin</title><link>https://sourceforge.net/p/jclilib/wiki/Home/</link><description>&lt;pre&gt;--- v1
+++ v2
@@ -1,8 +1,25 @@
-Welcome to your wiki!
+**JCLILIB** is the **Java Command Line Interface LIBrary** (falls trippingly off the tongue, doesn't it?), a small library package in Java 7 to facilitate accessing command line arguments in a Java program. The library is available under the Apache 2.0 license. It consists of two classes, **OptionManager** and **FileLister**.
 
-This is the default page, edit it as you see fit. To add a new page simply reference it within brackets, e.g.: [SamplePage].
+#####OptionManager#####
 
-The wiki uses [Markdown](/p/jclilib/wiki/markdown_syntax/) syntax.
+`OptionManager` parses the command line (typically the `args` vector in a Java main program) and extracts arguments according to specifications you declare in the calling program. Each argument is declared with a default value (can be null) and a return class (`Object`, `String`, `Boolean`, `Integer`, `Long`, or `Double`). For return types other than `Object` and `String`, `OptionManager` will attempt to convert the string representation from the command line into the appropriate class.
+
+`OptionManager` understands the following types of arguments:
+
+* a single key (can be any string, such as "-h", "H" or "!!help!!") that toggles a parameter from its default value to a specified alternate value;
+* a pair of consecutive arguments, the first being a key and the second a value (such as "dir some_directory");
+* a key/value pair separated by a specified connector (such as "file=my_file" or "file::my_file"), with the connector an arbitrary string; and
+* a parameter specified by its position (indexing starts at 0) among those arguments not matched by any of the previous methods.
+
+In addition, you can instruct `OptionManager` to allow a key to be repeated (such as "name=Joe ... name=Tom ... name=Jane", where the repetitions need not be contiguous). For repeated options, the matched values are returned as a list of objects. Keys may be declared as case-sensitive or case-insensitive. Any surplus command line arguments (not recognized as keys, values or positional arguments) are returned in an array of strings.
+
+#####FileLister#####
+
+FileLister provides static methods that take two arguments, a directory (`String`) and list of file specifications (`String[]`), and returns a vector of all files in the named directory that match any of the file specifications. The return value can be either `String[]` or `File[]`. FileLister understands glob-style wildcards.
+
+The code base includes a set of JUnit tests and a small test program that you can use to verify the features of `OptionManager`.
+
+
 
 [[project_admins]]
 [[download_button]]
&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Paul_A._Rubin</dc:creator><pubDate>Tue, 23 Oct 2012 21:37:00 -0000</pubDate><guid>https://sourceforge.net0b09170ad02b127a86d2c3574edc35a8b8e69d09</guid></item><item><title>WikiPage Home modified by Paul_A._Rubin</title><link>https://sourceforge.net/p/jclilib/wiki/Home/</link><description>Welcome to your wiki!

This is the default page, edit it as you see fit. To add a new page simply reference it within brackets, e.g.: [SamplePage].

The wiki uses [Markdown](/p/jclilib/wiki/markdown_syntax/) syntax.

[[project_admins]]
[[download_button]]
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Paul_A._Rubin</dc:creator><pubDate>Tue, 23 Oct 2012 20:30:00 -0000</pubDate><guid>https://sourceforge.net4ec857df1c16218e7d6c70c22d056f47d2025963</guid></item></channel></rss>