CodeModelを使用して、プロジェクトでtoString文を作成するためのプラグインに取り組んでいます。JExpression if文の文字列値をプロパティとして追加します
結果のコードは次のようになります。
if (variable == null) {
out.append(" " + "variable = null").append("\n");
}
(上記のコードでは外に簡単なのStringBuilderである)
を、私は自動的にif文で改行やタブを生成するCodeModelを使用したいです、そしてこれまでのところ、この出力までを持っている:私は目のためにJExpressionリテラル値を割り当てるよう
if ("variable" == null) {
out.append(" " + "variable = null").append("\n");
}
問題がある変数を、周囲の引用符で変数値。現在の実装は次のようになります。
private void printComplexObject(final JMethod toStringMethod, FieldOutline fo) {
String property = fo.getPropertyInfo().getName(false);
property = property.replace("\"", "");
JType type = fo.getRawType();
JBlock block = toStringMethod.body();
JConditional nullCheck = block._if(JExpr.lit(property).eq(JExpr._null())); ...}
が、これはJExpressionまたはCodeModelから何かを使用して行うことができる方法を知って誰ですか?私が持っている唯一の選択肢は、これまでのところ、次のようにdirectStatementでそれを行うことです。
toStringMethod.body().directStatement("if (" + property + " == null) { out.append ...}");