マニュアル: ドメイン駆動設計: 標準型

投稿日: 更新日: Java

作り方

import java.util.Objects;

public enum {{ class_name }} {
    /** コメント1 */
    {{ value1 }}("{{ value1_str }}"),

    /** コメント2 */
    {{ value2 }}("{{ value2_str }}");

    private final String str;

    {{ class_name }}(String str) {
        this.str = str;
    }

    public String value() {
        return this.str;
    }

    public static {{ class_name }} of(String str) {
        Objects.requireNonNull(str);

        switch(str) {
            case "{{ value1_str }}":
                return {{ value1 }};
            case "{{ value2_str }}":
                return {{ value2 }};
            default:
                throw new IllegalArgumentException("コメント");
        }
    }
}

親セクション


ページトップへ戻る