メソッド生成やっと出来た…

しょうもないところで格闘しすぎ。

端から見たら「いったい誰と戦っているんだ…?」という台詞をいわれそう。

TypeElement retElement = workingCopy.getElements().getTypeElement("java.lang.String");
ExpressionTree retTree = maker.QualIdent(retElement);

Set<Modifier> modifiers = new HashSet<Modifier>();
modifiers.add(Modifier.PUBLIC);

MethodTree method = maker.Method(
        maker.Modifiers(modifiers),
        "hello",
        retTree,
        Collections.<TypeParameterTree>emptyList(),
        Collections.<VariableTree>emptyList(),
        Collections.<ExpressionTree>emptyList(),
        "{ return Forword.To(\"index.jsp\"); }",
        null);

上のコードで

    public String hello() {
        return Forword.To("index.jsp");
    }

と生成される。


bodyのところ、まさか中括弧から必要だとおもわんかった。それだけで1時間も悩んでた。あほすぎ。


ちなみに、整形は現在の環境の整形ルールで自動でされるので改行等入れたり悩む必要はなし。またはまるかもしれないから備忘録タグにしておく。

ただ、ウィザードが出来上がるのなら別にこんなAPI使わずともコードのテキストの生成だけでもいいんだけどね。