概要 | パッケージ | クラス | 階層ツリー | 非推奨 API | 索引 | ヘルプ
openGion 5.6.0.0
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

## org.opengion.fukurou.util
クラス Argument

    java.lang.Object
      org.opengion.fukurou.util.Argument

    public final class Argument

extends java.lang.Object

Argument は、バッチ処理の main メソッドの引数を解析するクラスです。 Argument は、３つのタイプに分かれます。 ［コメント］ ： # で始まる引数で、使用されません。(登録もされません。) ［引数］ ： #,-,= 以外で始まる通常の文字列。登録の順番が指定されます。 ［プロパティ］： - で始まり、キーと値を=で区切っているパラメータです。順序は無関係。 これらのタイプを混在させても構いません。[引数]は、[コメント] や[プロパティ]を 無視した、入力の順番が重要視されます。取り出す場合も、番号で取り出します。 最初の［引数］が、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 の整合性チェックは、３つのパターンがあります。 ［引数］個数指定 ：引数自身の最小個数、最大個数を登録しておくことで、プロパティのハイフン忘れ等を防止します。 ［プロパティ］必須チェック ：必須キーが登録されたかどうかのチェックを行います。 ［プロパティ］整合性チェック ： 指定されているキーのみ登録可能です。 これらのチェックで、整合性チェックのみ、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 で強制終了します。 ［コメント］ ： # で始まる引数で、使用されません。(登録もされません。) ［引数］ ： #,-,= 以外で始まる通常の文字列。登録の順番が指定されます。 ［プロパティ］： - で始まり、キーと値を=で区切っているパラメータです。順序は無関係。

  パラメータ:
    `arg` - 引数
  戻り値:
    引数タイプ(CMNT,ARGS,PROP)
  例外:
    `java.lang.RuntimeException`
  関連項目:
    `［コメント］`, `［引数］`, `［プロパティ］`
  変更履歴:

    5.3.4.0 (2011/04/01) 空文字列など無関係なパラメータは処理しないように変更

### getArgument

    public java.lang.String getArgument(int adrs)

  指定の番号に対する［引数］を返します。 ［引数］は、#,-,= 以外で始まる通常の文字列として登録されています。 登録された順番で取得します。

  パラメータ:
    `adrs` - 番号
  戻り値:
    ［引数］
  例外:
    `java.lang.RuntimeException`

### 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 を返します。 ［プロパティ］のキー部の大文字･小文字は、厳格に判定しています。

  パラメータ:
    `key` - 引数のキー
  戻り値:
    引数に対する値
  例外:
    `java.lang.RuntimeException`

### 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 ) の結果を、使用しています。

  パラメータ:
    `key` - キー
    `def` - 値が null の場合の初期値
    `list` - 値として存在できる文字列リスト
  戻り値:
    ［プロパティ］
  例外:
    `java.lang.RuntimeException`
  関連項目:
    `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 プロパティ は、ファイル名を指定し、そのファイルの中身を 取得して返します。通常は１行であるが、時には複数行のデータを指定 したい場合に、２つのパラメータを使いますが、設定値は、同じ引数として 使用したいケースに便利です。 key プロパティと、keyFile プロパティ は、同時指定できません。 これは、指定方法の間違い等を避ける為です。 どちらも、null である可能性はあります。

  パラメータ:
    `key` - キー
    `keyFile` - 設定ファイル名
    `must` - 必須条件[true/false]
  戻り値:
    ［プロパティ］
  例外:
    `java.lang.RuntimeException` - 同時指定時、または、must 必須時に null の場合。
  関連項目:
    `getProparty( String )`

### getFileProparty

    public java.lang.String getFileProparty(java.lang.String key,
                                            java.lang.String keyFile,
                                            java.lang.String encode,
                                            boolean must)

  内部で使用する［プロパティ］を、キーを指定して取得します。 ［プロパティ］のキー部の大文字･小文字は、厳格に判定しています。 key プロパティは、通常の引数として指定できる簡易的な値を設定します。 keyFile プロパティ は、ファイル名を指定し、そのファイルの中身を 取得して返します。通常は１行であるが、時には複数行のデータを指定 したい場合に、２つのパラメータを使いますが、設定値は、同じ引数として 使用したいケースに便利です。 key プロパティと、keyFile プロパティ は、同時指定できません。 これは、指定方法の間違い等を避ける為です。 どちらも、null である可能性はあります。

  パラメータ:
    `key` - キー
    `keyFile` - 設定ファイル名
    `encode` - keyFile読取エンコード(null はデフォルトエンコード)
    `must` - 必須条件[true/false]
  戻り値:
    ［プロパティ］
  例外:
    `java.lang.RuntimeException` - 同時指定時、または、must 必須時に null の場合。
  関連項目:
    `getProparty( String )`

### getEntrys

    public HybsEntry[] getEntrys(java.lang.String startsKey)

  内部で使用する［プロパティ］を、キーを先頭に含む値を取得します。 ［プロパティ］のキー部の大文字･小文字は、厳格に判定しています。 値が設定されていない場合は、String[0] を返します。 HybsEntry のキーに設定される値は、引数の先頭キーを除いた文字列です。 例えば、"const_" のような値を与えて、const_AA, const_BB, const_CC の ３つのキーが選定された場合、キーは、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()

  このクラスの使用方法を返します。

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

概要 | パッケージ | クラス | 階層ツリー | 非推奨 API | 索引 | ヘルプ
| openGion 5.6.0.0
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

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