再帰的にメッセージを評価する
MessageFormatterにて指定されていないメッセージ中のパラメータ{パラメータ名}は、メッセージソースの中に定義されている定義でさらに変換が可能です。- その際に
formatRecursively()にてフォーマットを行います。 - また、無限に再帰するような定義のとき
StackOverflowErrorが発生するので、再帰回数を指定し回避することが可能です。
// メッセージの定義
message.recursion=Hello! {your.name}
your.name=Taro
// メッセージのフォーマットの再帰評価
MessageFormatter messageFormatter = ...;
// 結果は「Hello! Taro」となる。
String message = messageFormatter.create("message.recursion")
.formatRecursively();
