public static interface hiArgs.Helper
hiArgs.setHelper(Helper)でセットすると、解析エラー時に呼び出されます。
エラーがあるとusageを表示する例を示します。
import otsu.hiNote.*;
public class Test2 {
static class MyHelper implements hiArgs.Helper {
static String[] usage={
"PARAMETERS:"
," file [-encoding charSet] [-line #][-mark char2]"
};
public void help(String key_,String msg_){
hiArgs.Helper.default_help(usage,key_,msg_);
}
}
public static void main(String[] args_){
try{
hiArgs _arg=new hiArgs(args_);
_arg.setHelper(new MyHelper());
String _charSet= _arg.argStr("-encoding","utf-8");
int _line = _arg.argInt("-line",0);
String _mark = _arg.argStr("-mark",null);
String[] _file = _arg.other("file",1,1); // 必ず1個必要
_arg.check("-help"); // 不明オプション、指定不足、-help指定時にhelpを出す
//...
hiArgs.Helper.default_helpはデフォルトhelp表示を行うメソッドで
引数のエラーメッセージと引数のString[]をusageとして表示します
この例で例えば
test.txt -line a
という引数を与えると
------------
-line:java.lang.NumberFormatException: For input string: "a"
PARAMETERS:
file [-encoding charSet] [-line #][-mark char2]
-----------
というエラー表示が得られます。
必須項目であるfile指定のない
-encoding shift-jis -line 100
という引数を与えると
-----------
file:lacked
PARAMETERS:
file [-encoding charSet] [-line #][-mark char2]
-----------
というエラー表示が得られます
| 修飾子とタイプ | メソッドと説明 |
|---|---|
static void |
default_help(String[] usage_,
String key_,
String msg_)
エラーメッセージを標準エラーに出力しexitします.
|
void |
help(String key_,
String msg_)
エラー時に呼ばれます
|
static void default_help(String[] usage_, String key_, String msg_)
次のコードとなっています。
public static void default_help(String[] usage_,String key_,String msg_){
hiU.err.println(key_+":"+msg_);
for(String _s:usage_){
hiU.err.println(_s);
}
System.exit(hiU.isNull(msg_)?0:1);
}
usage_ - usagekey_ - キーmsg_ - メッセージ