Commons4Eを使ってみる。

toString()を書くのが面倒だったので、使ってみた。

指定したフィールドについて、toStringに出すかどうかとかequalsの対象にするかどうかとかを選んで、ソースを生成する。基本的に、commons.langのToStringBuilderとかを使う様子。↓な感じで出る。@Overrideアノテーションは付かない。

    public String toString() {
        return new ToStringBuilder(this).append("id", id).append("name", name)
                .append("manager", manager).toString();
    }
    public boolean equals(final Object other) {
        if (this == other)
            return true;
        if (!(other instanceof Department))
            return false;
        Department castOther = (Department) other;
        return new EqualsBuilder().append(id, castOther.id).isEquals();
    }
    public int hashCode() {
        return new HashCodeBuilder().append(id).toHashCode();
    }

toString生成目的のみなら、いちいちcommons.langに依存するのが欠点かな。