玉田 春昭 が作成した Oikaze Java Library からコマンドラインオプション解析関連クラスを抽出したものです。
GNU GPL(GNU General Public License) に従います。
GNU General Public License [日本語]
GPL に関するリンク
GNU の GPL FAQ に以下の質問とその回答がありました。
Q. Java のようなオブジェクト指向言語において、 GPL が適用されたあるクラスをそれ自体は改変せず、 サブクラス化して利用するとします。 このような場合、GPL は結果としてのプログラムには どのように影響するのでしょうか?
A. サブクラス化は派生物の作成に他なりません。 そこで、GPL が適用されたクラスのサブクラスが作成された プログラム全体に GPL の条項が影響します。
だそうです。
Java 2 SDK 1.3 以降の環境が必要です。
配布される ArgsParser-x.x.x.tar.gz を展開する。
$ gzip -cd ArgsParser-x.x.x.tar.gz | tar xvf -
ArgsParser-x.x.x というディレクトリが作成されるので、
ArgsParser-x.x.x/lib にある ArgsParser.jar を使う。
Option[] options = new Option[] {
// long option argument type short description
new Option("long-option1", "1", Option.REQUIRED_ARGUMENT, "description1"),
new Option("long-option2", "2", Option.OPTIONAL_ARGUMENT, "description2"),
new Option("long-option3", "3", Option.NO_ARGUMENT, "description3"),
};
Args arg = new Args(args, options);
Option[] parsedOptions = arg.getOptions();
for(int i = 0; i < parsedOptions.length; i++){
System.out.println("arg" + i + ": " + parsedOptions[i]);
}
上記のプログラムに以下のコマンド引数を与えると
$ java Prog --long-option1=value1 --long-otion2=value2 --long-option2 -3 hoge arg1: -1, --long-option1: value1[REQUIRE ARGUMENT] arg2: -2, --long-option2: value2[OPTIONAL_ARGUMENT] arg3: -2, --long-option2: [OPTIONAL_ARGUMENT] arg4: -3, --long-option3: [NO_ARGUMENT]
という表示になる.
| コンテンツ |
|---|
| リンク |
| 目次 |
| リンク |