openGionopenGion
5.8.1.1

org.opengion.fukurou.util
クラス Argument

java.lang.Object
  上位を拡張 org.opengion.fukurou.util.Argument

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 の登録時に行います。 それ以外は、取り出し時まで、判断できません。 (取り出しは、登録がすべて終了したのちに行われると仮定しています) [プロパティ]のキー部の大文字・小文字は、厳格に判定しています。 [プロパティ]設定可能なプロパティの値を指定することで、誤記入を防止します。

バージョン
4.0
作成者
Kazuhiko Hasegawa
導入されたバージョン:
JDK5.0,

フィールドの概要
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<java.lang.String,java.lang.String> mustProp)
          [プロパティ]必須チェック Map 登録 必須キーが登録されたかどうかのチェックを行います。
 void setUsableProparty(java.util.Map<java.lang.String,java.lang.String> useProp)
          [プロパティ]整合性チェック Map 登録 指定されているキーのみ登録可能です。
 java.lang.String toString()
          このオブジェクトの内部表現を、文字列にして返します。
 java.lang.String usage()
          このクラスの使用方法を返します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

フィールドの詳細

CMNT

public static final int CMNT
Argument引数のタイプ [コメント]は、無視されます。 0

関連項目:
定数フィールド値

ARGS

public static final int ARGS
Argument引数のタイプ [引数]は、入力順にアクセスできます。 1

関連項目:
定数フィールド値

PROP

public static final int PROP
Argument引数のタイプ [プロパティ]は、-KEY=VALUE 形式でキーでアクセスできます。 2

関連項目:
定数フィールド値
コンストラクタの詳細

Argument

public Argument(java.lang.String pgid)
この Argument を使用している プログラムID(Javaクラス名)を指定して インスタンスを作成します。 toString() する際に、表示します。

パラメータ:
pgid - プログラムID
メソッドの詳細

setArgument

public void setArgument(java.lang.String[] args)
Argument の配列文字列から、引数やプロパティをセットします。 [プロパティ]のキー部の大文字・小文字は、厳格に判定しています。 これは、main メソッド等で単独起動する場合に、引数そのままを セットする場合に使用します。

パラメータ:
args - 引数配列文字列
関連項目:
putArgument( String )

putArgument

public void putArgument(java.lang.String arg)
Argument の文字列から、引数かプロパティをセットします。 [プロパティ]のキー部の大文字・小文字は、厳格に判定しています。 Argument を設定する時に、タイプ判断として、getArgumentType( String ) を 使用します。よって、不正な Argument を設定した場合は、強制終了されます。

パラメータ:
arg - 引数
関連項目:
putArgument( String,String )

putArgument

public void putArgument(java.lang.String key,
                        java.lang.String val)
Argument の文字列から、プロパティをセットします。 [プロパティ]のキー部の大文字・小文字は、厳格に判定しています。 このメソッドは、引数 や コメントの判断を行いません。プロパティ のみ 設定されるものとして、処理します。 プロパティの key=val が初めから分割されている場合の簡易メソッドです。

パラメータ:
key - プロパティのキー
val - プロパティの値
関連項目:
putArgument( String )

setArgRange

public void setArgRange(int min,
                        int max)
[引数]個数指定を設定します。 最大値、最小値を登録しておくことで、個数が、規定から外れていないか どうかを確認します。 エラー判定は、実際に、[引数]を取り出すときに行われます。 このチェックの登録は、putArgument( String ) の前でも後でもよく、 getArgument の実行前であれば、いつでも構いません。 設定しない場合の初期値は、0~200 です。

パラメータ:
min - [引数]の最小個数(初期値:0)
max - [引数]の最大個数(初期値:200)

setMustProparty

public void setMustProparty(java.util.Map<java.lang.String,java.lang.String> mustProp)
[プロパティ]必須チェック Map 登録 必須キーが登録されたかどうかのチェックを行います。 マスト判定は、実際に、[プロパティ]を取り出すときに行われます。 すべてのプロパティーがセットし終わったかどうかの判断が出来ないためです。 それ以外のチェックは、putArgument( String ) 時に行われるので、それまでに mustProparty のMapを登録しておく必要があります。 ただし、引数文字列の記述チェック(使用してもよい値の配列チェック)は、 #getProparty( String , String , String[] ) で行われるので、取得時になります。 設定しない場合の初期値は、制限なしです。 指定のMapのValue値には、エラー時のコメントを記述しておきます。

パラメータ:
mustProp - 必須キーのMap
関連項目:
getProparty( String , String , String[] )

setUsableProparty

public void setUsableProparty(java.util.Map<java.lang.String,java.lang.String> useProp)
[プロパティ]整合性チェック Map 登録 指定されているキーのみ登録可能です。 エラー判定は、実際に、[プロパティ]を取り出すときに行われます。 このチェックの登録は、putArgument( String ) 時に行われるので、それまでに usableProparty のMapを登録しておく必要があります。 ただし、引数文字列の記述チェック(使用してもよい値の配列チェック)は、 #getProparty( String , String , String[] ) で行われるので、取得時になります。 設定しない場合の初期値は、制限なしです。 指定のMapのValue値には、このキーに対する解説を登録しておきます。

パラメータ:
useProp - 使用可能キーのMap

getArgumentType

public int getArgumentType(java.lang.String arg)
Argument の文字列から、そのタイプを判断します。 引数の形式が不正な場合(例えば、キーと値の分離の = の前後にスペースが入った場合) RuntimeException で強制終了します。 [コメント] : # で始まる引数で、使用されません。(登録もされません。) [引数] : #,-,= 以外で始まる通常の文字列。登録の順番が指定されます。 [プロパティ]: - で始まり、キーと値を=で区切っているパラメータです。順序は無関係。 ※ 引数の設定方法が間違っている場合、RuntimeException が throw されます。

パラメータ:
arg - 引数
戻り値:
引数タイプ(CMNT,ARGS,PROP)
関連項目:
[コメント], [引数], [プロパティ]
変更履歴:
5.3.4.0 (2011/04/01) 空文字列など無関係なパラメータは処理しないように変更

getArgument

public java.lang.String getArgument(int adrs)
指定の番号に対する[引数]を返します。 [引数]は、#,-,= 以外で始まる通常の文字列として登録されています。 登録された順番で取得します。 ※ 引数の設定方法が間違っている場合、RuntimeException が throw されます。

パラメータ:
adrs - 番号
戻り値:
[引数]

getArgument

public java.lang.String getArgument(int adrs,
                                    java.lang.String def)
指定の番号に対する[引数]を返します。 def には、文字列の初期値を指定しておきます。adrs に対応する値が、null の場合、 この def をそのまま返します。 処理は、getArgument( int ) の結果を、使用しています。

パラメータ:
adrs - 番号
def - 値が null の場合の初期値
戻り値:
[引数]
関連項目:
getArgument( int )

getArgument

public int getArgument(int adrs,
                       int def)
指定の番号に対する[引数]を返します。 def には、数字の初期値を指定しておきます。adrs に対応する値が、null の場合、 この def をそのまま返します。 処理は、getArgument( int ) の結果を、使用しています。

パラメータ:
adrs - 番号
def - 値が null の場合の初期値
戻り値:
[引数]
関連項目:
getArgument( int )

getArgument

public boolean getArgument(int adrs,
                           boolean def)
指定の番号に対する[引数]を返します。 def には、boolean の初期値を指定しておきます。adrs に対応する値が、null の場合、 この def をそのまま返します。 処理は、getArgument( int ) の結果を、使用しています。

パラメータ:
adrs - 番号
def - 値が null の場合の初期値
戻り値:
[引数]
関連項目:
getArgument( int )

getProparty

public java.lang.String getProparty(java.lang.String key)
内部で使用する[プロパティ]を、キーを指定して取得します。 値が設定されていない場合は、 null を返します。 [プロパティ]のキー部の大文字・小文字は、厳格に判定しています。 ※ 引数の設定方法が間違っている場合、RuntimeException が throw されます。

パラメータ:
key - 引数のキー
戻り値:
引数に対する値

getProparty

public java.lang.String getProparty(java.lang.String key,
                                    java.lang.String def)
内部で使用する[プロパティ]を、キーを指定して取得します。 [プロパティ]のキー部の大文字・小文字は、厳格に判定しています。 def には、文字列の初期値を指定しておきます。key に対応する値が、null の場合、 この def をそのまま返します。 処理は、getProparty( String ) の結果を、使用しています。

パラメータ:
key - キー
def - 値が null の場合の初期値
戻り値:
[プロパティ]
関連項目:
getProparty( String )

getProparty

public java.lang.String getProparty(java.lang.String key,
                                    java.lang.String def,
                                    java.lang.String[] list)
内部で使用する[プロパティ]を、キーを指定して取得します。 [プロパティ]のキー部の大文字・小文字は、厳格に判定しています。 def には、文字列の初期値を指定しておきます。key に対応する値が、null の場合、 この def をそのまま返します。 list 配列には、登録できる文字列配列を指定します。この文字列に含まれない 値が設定されていた場合は、エラーになります。 処理は、getProparty( String ) の結果を、使用しています。 ※ 引数の設定方法が間違っている場合、RuntimeException が throw されます。

パラメータ:
key - キー
def - 値が null の場合の初期値
list - 値として存在できる文字列リスト
戻り値:
[プロパティ]
関連項目:
getProparty( String )

getProparty

public int getProparty(java.lang.String key,
                       int def)
内部で使用する[プロパティ]を、キーを指定して取得します。 [プロパティ]のキー部の大文字・小文字は、厳格に判定しています。 def には、数字の初期値を指定しておきます。key に対応する値が、null の場合、 この def をそのまま返します。 処理は、getProparty( String ) の結果を、使用しています。

パラメータ:
key - キー
def - 値が null の場合の初期値
戻り値:
[プロパティ]
関連項目:
getProparty( String )

getProparty

public boolean getProparty(java.lang.String key,
                           boolean def)
内部で使用する[プロパティ]を、キーを指定して取得します。 [プロパティ]のキー部の大文字・小文字は、厳格に判定しています。 def には、boolean の初期値を指定しておきます。key に対応する値が、null の場合、 この def をそのまま返します。 処理は、getProparty( String ) の結果を、使用しています。

パラメータ:
key - キー
def - 値が null の場合の初期値
戻り値:
[プロパティ]
関連項目:
getProparty( String )

getFileProparty

public java.lang.String getFileProparty(java.lang.String key,
                                        java.lang.String keyFile,
                                        boolean must)
内部で使用する[プロパティ]を、キーを指定して取得します。 [プロパティ]のキー部の大文字・小文字は、厳格に判定しています。 key プロパティは、通常の引数として指定できる簡易的な値を設定します。 keyFile プロパティ は、ファイル名を指定し、そのファイルの中身を 取得して返します。通常は1行であるが、時には複数行のデータを指定 したい場合に、2つのパラメータを使いますが、設定値は、同じ引数として 使用したいケースに便利です。 key プロパティと、keyFile プロパティ は、同時指定できません。 これは、指定方法の間違い等を避ける為です。 どちらも、null である可能性はあります。 ※ 同時指定時、または、must 必須時に null の場合、RuntimeException が throw されます。

パラメータ:
key - キー
keyFile - 設定ファイル名
must - 必須条件[true/false]
戻り値:
[プロパティ]
関連項目:
getProparty( String )

getFileProparty

public java.lang.String getFileProparty(java.lang.String key,
                                        java.lang.String keyFile,
                                        java.lang.String encode,
                                        boolean must)
内部で使用する[プロパティ]を、キーを指定して取得します。 [プロパティ]のキー部の大文字・小文字は、厳格に判定しています。 key プロパティは、通常の引数として指定できる簡易的な値を設定します。 keyFile プロパティ は、ファイル名を指定し、そのファイルの中身を 取得して返します。通常は1行であるが、時には複数行のデータを指定 したい場合に、2つのパラメータを使いますが、設定値は、同じ引数として 使用したいケースに便利です。 key プロパティと、keyFile プロパティ は、同時指定できません。 これは、指定方法の間違い等を避ける為です。 どちらも、null である可能性はあります。 ※ 同時指定時、または、must 必須時に null の場合、RuntimeException が throw されます。

パラメータ:
key - キー
keyFile - 設定ファイル名
encode - keyFile読取エンコード(null はデフォルトエンコード)
must - 必須条件[true/false]
戻り値:
[プロパティ]
関連項目:
getProparty( String )

getEntrys

public HybsEntry[] getEntrys(java.lang.String startsKey)
内部で使用する[プロパティ]を、キーを先頭に含む値を取得します。 [プロパティ]のキー部の大文字・小文字は、厳格に判定しています。 値が設定されていない場合は、String[0] を返します。 HybsEntry のキーに設定される値は、引数の先頭キーを除いた文字列です。 例えば、"const_" のような値を与えて、const_AA, const_BB, const_CC の 3つのキーが選定された場合、キーは、AA, BB, CC のみ返します。

パラメータ:
startsKey - 引数の先頭のキー
戻り値:
引数に対する[プロパティ]のHybsEntry

changeParam

public java.lang.String changeParam(java.lang.String inMsg)
入力文字列に、{@XXXX}関係の文字列変換を行います。 引数に含まれる {@XXXX}=YYYY という入力に対して、inMsg に 含まれる{@XXXX} 文字列を、YYYY という文字列に変換します。 それ以外に、予約文字変換として、 {@ARG.XXX} 引数に使用された値を再利用(割り当て)します。 {@DATE.XXX} SimpleDateFormat 形式の文字を変換します。(日付、時刻等) {@ENV.XXX} システムプロパティーの文字を変換します。(java -Dkey=value オプション)

パラメータ:
inMsg - 入力文字列
戻り値:
変換後文字列

toString

public java.lang.String toString()
このオブジェクトの内部表現を、文字列にして返します。 クラス名 + 起動時の引数リストを表示します。

オーバーライド:
クラス java.lang.Object 内の toString
戻り値:
引数に対する値

usage

public java.lang.String usage()
このクラスの使用方法を返します。

戻り値:
このクラスの使用方法

openGion 5.8.1.1

Webアプリケーションフレームワーク openGion
SourceForge.JPCopyright (c) 2009 The openGion Project.