dropwizard で paramter 付き command を作成していて、
parameter のデフォルト値の設定方法がわからなかったため、調べた結果を残します。
デフォルト値の指定方法
dropwizard の configure メソッドで、Command の parameter を定義しますが、
addArgument
した後に、
setDefault()
でデフォルト値を設定可能でした。
@Override
public void configure(Subparser subparser) {
// Add a command line option
subparser.addArgument("-m", "--mode")
.dest("mode")
.type(String.class)
.setDefault("OLD_DONE")
.help("The mode of Command. default OLD_DONE");
}
デフォルト値設定すると、以下のように、パラメータなしでコマンドを実行した際に、
デフォルト値が効いてきます。
java -jar festivals4partypeople-batch-0.0.1.jar storeLastfmArtistProfiles
ちなみに、required()
というメソッドもあり、
これをtrueで設定すると、parameter指定が必須になり、メッセージが出力されます。
05:07:36.731 [main] INFO org.hibernate.validator.internal.util.Version - HV000001: Hibernate Validator 5.2.4.Final
argument -m/--mode: expected one argument
usage: java -jar festivals4partypeople-batch-0.0.1.jar
storeLastfmArtistProfiles -m MODE [-h]
Store data to LastfmArtistProfiles Document
optional arguments:
-m MODE, --mode MODE The mode of Command. default OLD_DONE (default: OLD_DONE)
-h, --help show this help message and exit
以上です。
コメント