Args Parser

Copyright (C) 1997-2004 by Haruaki TAMADA All rights reserved.
Last Modified: Mon Jan 10 11:07:28 JST 2005

[ Japanese | English ]

目次

ページのトップへ

概要

玉田 春昭 が作成した Oikaze Java Library からコマンドラインオプション解析関連クラスを抽出したものです。

ページのトップへ

特徴

API ドキュメント [フレームなし]

ページのトップへ

ライセンス

GNU GPL(GNU General Public License) に従います。

GNU General Public License [日本語]

GPL に関するリンク

GPL, LGPL, GFDL に対する違反行為
ライセンスの違反行為を見つけた場合の対処方
さまざまなライセンスとそれらについての解説
いろいろなライセンスがあります。
フリーソフトウェアは売るのも自由
勘違いしている人も多いようだが、GPL ライセンスでも販売可能です。
GPL Memo
GPL は難しいということを前提に、GPL を理解しようというページ

GNU の GPL FAQ に以下の質問とその回答がありました。

Q. Java のようなオブジェクト指向言語において、 GPL が適用されたあるクラスをそれ自体は改変せず、 サブクラス化して利用するとします。 このような場合、GPL は結果としてのプログラムには どのように影響するのでしょうか?

A. サブクラス化は派生物の作成に他なりません。 そこで、GPL が適用されたクラスのサブクラスが作成された プログラム全体に GPL の条項が影響します。

だそうです。

ページのトップへ

ダウンロード

ArgsParser-1.0.0.tar.gz
md5sum: 919fd53935bf8dd1fc4ffcf49a3e17f3

ChangeLog

ページのトップへ

必要ライブラリ

Java 2 SDK 1.3 以降の環境が必要です。

Apache Ant
ビルド時に使用。 使わなくても構わないが、使わない場合の質問は受け付けない。必須
Jakarta Velocity
このドキュメントの生成に使用。詳細は anakia を参照のこと。
JUnit
ユニットテストで使用。 このライブラリを使わないとユニットテストが実行できなくなる。任意

ページのトップへ

インストール方法

配布される 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]

という表示になる.

ページのトップへ