目次

技術関係?

なんとなく書いたものを載せてみた。

バグ関係w

memo

GetOpt? class of Xalan

Java用のcmd line parserで getopt(3C)と同じのがほしいところだが、世の中には何件かある。で、Xalanに含まれる GetOpt?クラスを使ってみた。微妙なExceptionの上げ方をするので、 コードも微妙な感じになっている。これでいいのか正直疑問。
GetOpt getopt = new GetOpt(args,"ts:");

int c;
boolean runforever = true;
while ( runforever ) {
    try {
        c = getopt.getNextOption();
    } catch ( Exception e ) {
        System.out.printf("ignore : %s\n", e.getMessage());
        continue;
    }
    switch ( c ) {
        case -1:
            runforever = false;
            break;
        case 't':
            System.out.println("-t option");
            break;
        case 's':
            System.out.println("-s " + getopt.getOptionArg());
            break;
    }
}
ポイントは、
  • getNextOption()は最初のGetOpt?に与えた引数書式に含まれないものは返さないので、defaultがいらない
  • 引数処理時のエラーは基本Exception throwなので、それに対応したtry-catchを入れつつ、loopを回す

ことかな。

links


Last-modified: 2009-06-24 05:51:24