Strutsアノテーションプラグイン、できちゃいました・・・

簡単な実装が、30分くらいでできちゃったんですが・・・。
固定のクラスに対しての処理だけですけど。
こんな感じのアノテーション書いて

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface StrutsAction {
    String path();
    String success();
}

こんな感じのPlugIn書いたら

Class c = Class.forName("test.TestAction");
StrutsAction sa = (StrutsAction)c.getAnnotation(StrutsAction.class);
ActionMapping ac = new ActionMapping();
ac.setType(c.getName());
ActionForward fc = new ActionForward();
fc.setName("success");
fc.setPath(sa.success());
ac.addForwardConfig(fc);
ac.setPath(sa.path());
moduleConfig.addActionConfig(ac);

こんな感じでアノテーションが書けました。

@StrutsAction(path="/test", success="/test.jsp")
public class TestAction extends Action{
  ...
}

めちゃくちゃ素敵。
費用対効果高すぎ。