|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Objectnet.wasamon.mjlib.util.GetOpt
public class GetOpt
引数の解析を行い、その結果を保持するクラス。
GetOpt("hvf:", "prefix:", args)などとして利用
最初の引数で一文字のオプションを、第二引数ではロングオプションを設定。
":"を末尾につけることで、そのオプションは引数をとることができる。
この引数は空白または"="で識別される。
また、オプションに"::"をつけると、その後の文字列すべてを、そのオプションの引数として処理する。
- や -- の次、また、-ではじまらない文字列からを引数として保持する。
入れ子のクラスの概要 | |
---|---|
(package private) class |
GetOpt.AssocPair
名前と値の組を表わすオブジェクト |
フィールドの概要 | |
---|---|
private java.lang.String[] |
args
|
private NamedArrayList |
opt_flag
引数つきではないオプションフラグのリスト |
private NamedArrayList |
opt_with_arg
引数つきのオプションを保持するのリスト |
private NamedObject |
opt_with_arg_rest
|
private NamedArrayList |
opts
|
private boolean |
result
|
private java.util.ArrayList |
unknown
解析の結果不明だったリスト |
コンストラクタの概要 | |
---|---|
GetOpt(java.lang.String sp,
java.lang.String lps,
java.lang.String[] ptn)
コンストラクタ |
|
GetOpt(java.lang.String sp,
java.lang.String lps,
java.lang.String[] ptn,
boolean flag)
デバッグ用コンストラクタ |
|
GetOpt(java.lang.String sp,
java.lang.String lps,
java.lang.String[] ptn,
int offset)
コンストラクタ |
メソッドの概要 | |
---|---|
private int |
analy_longopt(java.lang.String ptn,
java.lang.String[] arg,
int offset)
引数つきオプションの解析 hoge=fefe または hoge fefe をオプション hoge と、その引数 fefe と解析 |
private int |
analy_shortopt(java.lang.String ptn,
java.lang.String[] arg,
int offset)
パターンに該当するフラグオプションがるかどうか |
private void |
analyze(java.lang.String[] ptn,
int offset)
引数すべてに対し指定したパターンがあるかどうか判定する |
boolean |
flag(java.lang.String key)
オプションが指定されていたかどうかを判定する |
private java.lang.String[] |
getAllOpt()
すべてのオプションを配列で得る。 |
java.lang.String[] |
getArgs()
すべての引数を配列にして返す |
java.lang.String |
getValue(java.lang.String key)
オプションで指定されていた値を取得する。 |
boolean |
isSuccess()
|
static void |
main(java.lang.String[] args)
|
private boolean |
makeOptList(java.lang.String sp,
java.lang.String[] lp)
与えられたショートオプションとロングオプションから 引数解析のためのリストを生成する |
private void |
print_opt_flag()
|
private void |
print_opt_with_arg()
|
private java.lang.String[] |
setArgs(java.lang.String[] ptn,
int offset)
パタンのうちoffset以降を配列に格納して返す |
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
フィールドの詳細 |
---|
private java.lang.String[] args
private NamedArrayList opts
private NamedArrayList opt_with_arg
private NamedArrayList opt_flag
private java.util.ArrayList unknown
private NamedObject opt_with_arg_rest
private boolean result
コンストラクタの詳細 |
---|
public GetOpt(java.lang.String sp, java.lang.String lps, java.lang.String[] ptn)
sp
- 解析したい一文字オプションの連続(-vとか)lps
- 解析したいロングオプションのcommma separate羅列ptn
- 解析すべき文字列の配列public GetOpt(java.lang.String sp, java.lang.String lps, java.lang.String[] ptn, int offset)
sp
- 解析したい一文字オプションの連続(-vとか)lps
- 解析したいロングオプションのcommma separate羅列ptn
- 解析すべき文字列の配列offset
- 解析すべき文字のオフセットpublic GetOpt(java.lang.String sp, java.lang.String lps, java.lang.String[] ptn, boolean flag)
メソッドの詳細 |
---|
private void analyze(java.lang.String[] ptn, int offset)
ptn
- 引数の配列offset
- 解析する引数のオフセット
--todo もっといいアルゴリズムにprivate boolean makeOptList(java.lang.String sp, java.lang.String[] lp)
private int analy_shortopt(java.lang.String ptn, java.lang.String[] arg, int offset)
ptn
- パターン文字列
private int analy_longopt(java.lang.String ptn, java.lang.String[] arg, int offset)
ptn
- ためすパターンarg
- オプション字列の配列(引数かもしれないから)offset
- 現在のパタンの配列中のオフセット
public boolean isSuccess()
public boolean flag(java.lang.String key)
key
- 検索するオプション名
public java.lang.String getValue(java.lang.String key) throws GetOptException
key
- 検索するオプション名
GetOptException
- 与えられた文字列のオプションがない場合private java.lang.String[] getAllOpt()
public java.lang.String[] getArgs()
private java.lang.String[] setArgs(java.lang.String[] ptn, int offset)
ptn
- パタンoffset
- オフセット
private void print_opt_flag()
private void print_opt_with_arg()
public static void main(java.lang.String[] args) throws java.lang.Exception
java.lang.Exception
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |