The Java AST Builder

まだ検証中

/**
 * = a / b
 * @param a dividend
 * @param b divider
 * @throws ArithmeticException
 */
@Override
public int divide(int a, @NotZero int b)
        throws ArithmeticException {
    return a / b;
}

as

Method m = AstBuilder
    .javadoc("= a / b")
    .tag("param a dividend")
    .tag("param b divider")
    .tag("throws ArithmeticException If b is zero")
    .annotation("@Override")
    ._public()._int()._method("divide")
        ._int().param("a")
        .annotation("NotZero")._int().param("b")
        ._throws().type("ArithmeticException").begin()
            ._return().var("a").divide().var("b")
        .end();

だめぽ…

a + bじゃなさげとのご指摘を受けました。a / bに修正。