public final class Argument
extends java.lang.Object
Argument は、バッチ処理の main メソッドの引数を解析するクラスです。
Argument は、3つのタイプに分かれます。
[コメント] : # で始まる引数で、使用されません。(登録もされません。)
[引数] : #,-,= 以外で始まる通常の文字列。登録の順番が指定されます。
[プロパティ]: - で始まり、キーと値を=で区切っているパラメータです。順序は無関係。
これらのタイプを混在させても構いません。[引数]は、[コメント] や[プロパティ]を
無視した、入力の順番が重要視されます。取り出す場合も、番号で取り出します。
最初の[引数]が、0 で、以降 引数個数-1 までの番号で取り出します。
[プロパティ]は、順番は無視し、キー部を指定することで取り出せます。
ただし、キー部を重複して登録することは出来ません。なお、キー部の頭の文字列のみで
取り出すメソッドがあるため、key1,key2,key3 などと指定して、key で取り出せば、
複数プロパティを同一キーで取り出すことが可能です。
[プロパティ]の指定では、キーと値を=で区切りますが、その前後にスペースを
入れないで下さい。引数の前後に = が付く文字列は指定できません。
java Program AAA BBB #CCC -DD=XX -EE=YY -FF=ZZ GGG
~~~ ~~~ ~~~~ ~~~~~~ ~~~~~~ ~~~~~~ ~~~
[コメント] : #CCC
[引数] : [0]=AAA , [1]=BBB , [2]=GGG
[プロパティ]: key=DD,val=XX key=EE,val=YY key=FF,val=ZZ
Argument の整合性チェックは、3つのパターンがあります。
[引数]個数指定 :引数自身の最小個数、最大個数を登録しておくことで、プロパティのハイフン忘れ等を防止します。
[プロパティ]必須チェック :必須キーが登録されたかどうかのチェックを行います。
[プロパティ]整合性チェック : 指定されているキーのみ登録可能です。
これらのチェックで、整合性チェックのみ、Argument の登録時に行います。
それ以外は、取り出し時まで、判断できません。
(取り出しは、登録がすべて終了したのちに行われると仮定しています)
[プロパティ]のキー部の大文字・小文字は、厳格に判定しています。
[プロパティ]設定可能なプロパティの値を指定することで、誤記入を防止します。| 修飾子とタイプ | フィールドと説明 |
|---|---|
static int |
ARGS
Argument引数のタイプ [引数]は、入力順にアクセスできます。
|
static int |
CMNT
Argument引数のタイプ [コメント]は、無視されます。
|
static int |
PROP
Argument引数のタイプ [プロパティ]は、-KEY=VALUE 形式でキーでアクセスできます。
|
| コンストラクタと説明 |
|---|
Argument(java.lang.String pgid)
この Argument を使用している プログラムID(Javaクラス名)を指定して
インスタンスを作成します。
|
| 修飾子とタイプ | メソッドと説明 |
|---|---|
java.lang.String |
changeParam(java.lang.String inMsg)
入力文字列に、{@XXXX}関係の文字列変換を行います。
|
java.lang.String |
getArgument(int adrs)
指定の番号に対する[引数]を返します。
|
boolean |
getArgument(int adrs,
boolean def)
指定の番号に対する[引数]を返します。
|
int |
getArgument(int adrs,
int def)
指定の番号に対する[引数]を返します。
|
java.lang.String |
getArgument(int adrs,
java.lang.String def)
指定の番号に対する[引数]を返します。
|
int |
getArgumentType(java.lang.String arg)
Argument の文字列から、そのタイプを判断します。
|
HybsEntry[] |
getEntrys(java.lang.String startsKey)
内部で使用する[プロパティ]を、キーを先頭に含む値を取得します。
|
java.lang.String |
getFileProparty(java.lang.String key,
java.lang.String keyFile,
boolean must)
内部で使用する[プロパティ]を、キーを指定して取得します。
|
java.lang.String |
getFileProparty(java.lang.String key,
java.lang.String keyFile,
java.lang.String encode,
boolean must)
内部で使用する[プロパティ]を、キーを指定して取得します。
|
java.lang.String |
getProparty(java.lang.String key)
内部で使用する[プロパティ]を、キーを指定して取得します。
|
boolean |
getProparty(java.lang.String key,
boolean def)
内部で使用する[プロパティ]を、キーを指定して取得します。
|
int |
getProparty(java.lang.String key,
int def)
内部で使用する[プロパティ]を、キーを指定して取得します。
|
java.lang.String |
getProparty(java.lang.String key,
java.lang.String def)
内部で使用する[プロパティ]を、キーを指定して取得します。
|
java.lang.String |
getProparty(java.lang.String key,
java.lang.String def,
java.lang.String[] list)
内部で使用する[プロパティ]を、キーを指定して取得します。
|
void |
putArgument(java.lang.String arg)
Argument の文字列から、引数かプロパティをセットします。
|
void |
putArgument(java.lang.String key,
java.lang.String val)
Argument の文字列から、プロパティをセットします。
|
void |
setArgRange(int min,
int max)
[引数]個数指定を設定します。
|
void |
setArgument(java.lang.String[] args)
Argument の配列文字列から、引数やプロパティをセットします。
|
void |
setMustProparty(java.util.Map mustProp)
[プロパティ]必須チェック Map 登録
必須キーが登録されたかどうかのチェックを行います。
|
void |
setUsableProparty(java.util.Map useProp)
[プロパティ]整合性チェック Map 登録
指定されているキーのみ登録可能です。
|
java.lang.String |
toString()
このオブジェクトの内部表現を、文字列にして返します。
|
java.lang.String |
usage()
このクラスの使用方法を返します。
|
public static final int CMNT
public static final int ARGS
public static final int PROP
public Argument(java.lang.String pgid)
pgid - プログラムIDpublic void setArgument(java.lang.String[] args)
args - 引数配列(可変長引数)putArgument( String )public void putArgument(java.lang.String arg)
arg - 引数putArgument( String,String )| 6.4.8.3 (2016/07/15) key,val 分解後は、#putArgument(String,String) |
public void putArgument(java.lang.String key,
java.lang.String val)
key - プロパティのキーval - プロパティの値putArgument( String )| 6.4.8.3 (2016/07/15) val で、「\t」と、「\n」の文字列を、タブと改行に変換します。 |
| 6.4.8.4 (2016/07/22) 元に戻します。タブと改行は、ここで変換できません。 |
public void setArgRange(int min,
int max)
min - [引数]の最小個数(初期値:0)max - [引数]の最大個数(初期値:200)public void setMustProparty(java.util.Map mustProp)
mustProp - 必須キーのMapgetProparty( String , String , String[] )| 6.4.3.1 (2016/02/12) Collections.synchronizedMap に置き換え。 |
public void setUsableProparty(java.util.Map useProp)
useProp - 使用可能キーのMap| 6.4.3.1 (2016/02/12) Collections.synchronizedMap に置き換え。 |
public int getArgumentType(java.lang.String arg)
public java.lang.String getArgument(int adrs)
adrs - 番号public java.lang.String getArgument(int adrs,
java.lang.String def)
adrs - 番号def - 値が null の場合の初期値getArgument( int )public int getArgument(int adrs,
int def)
adrs - 番号def - 値が null の場合の初期値getArgument( int )public boolean getArgument(int adrs,
boolean def)
adrs - 番号def - 値が null の場合の初期値getArgument( int )public java.lang.String getProparty(java.lang.String key)
key - 引数のキー| 6.4.3.1 (2016/02/12) Collections.synchronizedMap に置き換え。 |
public java.lang.String getProparty(java.lang.String key,
java.lang.String def)
key - キーdef - 値が null の場合の初期値getProparty( String )public java.lang.String getProparty(java.lang.String key,
java.lang.String def,
java.lang.String[] list)
key - キーdef - 値が null の場合の初期値list - 値として存在できる文字列配列(可変長引数)getProparty( String )public int getProparty(java.lang.String key,
int def)
key - キーdef - 値が null の場合の初期値getProparty( String )public boolean getProparty(java.lang.String key,
boolean def)
key - キーdef - 値が null の場合の初期値getProparty( String )public java.lang.String getFileProparty(java.lang.String key,
java.lang.String keyFile,
boolean must)
key - キーkeyFile - 設定ファイル名must - 必須条件[true/false]getProparty( String )public java.lang.String getFileProparty(java.lang.String key,
java.lang.String keyFile,
java.lang.String encode,
boolean must)
key - キーkeyFile - 設定ファイル名encode - keyFile読取エンコード(null はデフォルトエンコード)must - 必須条件[true/false]getProparty( String )| 6.4.5.1 (2016/04/28) FileStringのコンストラクター変更 |
| 6.4.5.2 (2016/05/06) fukurou.util.FileString から、fukurou.util.FileUtil に移動。 |
public HybsEntry[] getEntrys(java.lang.String startsKey)
startsKey - 引数の先頭のキーpublic java.lang.String changeParam(java.lang.String inMsg)
inMsg - 入力文字列public java.lang.String toString()
toString クラス内 java.lang.Objectpublic java.lang.String usage()
Webアプリケーションフレームワーク openGionCopyright (c) 2009 The openGion Project.