Antlr 4 RC1 (完全な jar) を使用して文法を解析し、カスタム ast を構築し、その AST から stringtemplate4 を使用してコードを生成しています (antlr jar で stringtemplate クラスを使用しています)。テンプレート内で、Bean のリストを使用して別のテンプレートを呼び出します。
<subtemplate(myListArg=parm.listOfBeans)>
次に、サブテンプレート内で文字列のリストを取得します (各文字列は、文字列に評価される Bean の 1 つです)。しかし、Bean の値ではなく、Bean のプロパティを処理したいので、Java Bean のリスト (プロパティを持つ単純な Java オブジェクトなど) が必要です。
<subtemplate(myListArg)> ::= <<
<myListArg: {x | {... <x.someProperty> ...}>
>>
テンプレートのパラメーターは常に文字列に評価されるように見えます。それは意図した動作ですか?はいの場合、他に何を書くべきですか?