[Seasar-user:19784] Re: [Doma]Enumの利用での要望

Toshihiro Nakamura [E-MAIL ADDRESS DELETED]
2010年 5月 22日 (土) 13:32:12 JST


中村(taedium)です。

> 正式対応になっていただければと思います。

SNAPSHOTを作成してみました。
お試しください。
http://maven.seasar.org/maven2-snapshot/org/seasar/doma/doma/1.7.0-SNAPSHOT/doma-1.7.0-20100522.040824-3.jar

使い方ですが、enumに@EnumDomainを注釈します。
valuType要素はカラムの型に対応するクラスです。
factoryMethod要素は、DBのデータに対応するenumを返す
staticメソッドの名前です。
accessorMethod要素は、DBに永続化するデータを取得する
インスタンスメソッドの名前です。
factoryMethod要素とaccessorMethod要素は省略できます。

利用例は次のようになります。

@EnumDomain(valueType = String.class, 
    factoryMethod = "of", 
    accessorMethod = "getValue")
public enum JobType {

    SALESMAN("01"), 
    MANAGER("02"), 
    ANALYST("03"), 
    PRESIDENT("04"), 
    CLERK("05");

    private final String value;

    private JobType(String value) {
        this.value = value;
    }

    static JobType of(String value) {
        for (JobType jobType : JobType.values()) {
            if (jobType.value.equals(value)) {
                return jobType;
            }
        }
        throw new IllegalArgumentException(value);
    }

    String getValue() {
        return value;
    }
}

Eclipseで古いバージョンのjarを新しいバージョンのものに差し替えるときは
クリーンビルドをお願いします。
-- 
Toshihiro Nakamura <[E-MAIL ADDRESS DELETED]>




Seasar-user メーリングリストの案内