Enumerated.java

  1. package com.github.mygreen.sqlmapper.core.annotation;

  2. import java.lang.annotation.Documented;
  3. import java.lang.annotation.ElementType;
  4. import java.lang.annotation.Retention;
  5. import java.lang.annotation.RetentionPolicy;
  6. import java.lang.annotation.Target;

  7. /**
  8.  * プロパティが列挙型であるときのマッピング方法を指定します。
  9.  *
  10.  *
  11.  * @author T.TSUCHIE
  12.  *
  13.  */
  14. @Retention(RetentionPolicy.RUNTIME)
  15. @Target({ElementType.FIELD})
  16. @Documented
  17. public @interface Enumerated {

  18.     /**
  19.      * (オプション) {@link Enum} 型のマッピング種別。
  20.      * @return 列挙型のマッピング種別。
  21.      */
  22.     EnumType value();

  23. //    String aliasMethod() default "";

  24.     /**
  25.      * 列挙型のマッピング種別を定義します。
  26.      *
  27.      *
  28.      * @author T.TSUCHIE
  29.      *
  30.      */
  31.     enum EnumType {

  32.         /**
  33.          * 列挙型の序数({@link Enum#ordinal()})を永続化します。
  34.          */
  35.         ORDINAL,
  36.         /**
  37.          * 列挙型の名称({@link Enum#name()})を永続化します。
  38.          */
  39.         STRING/*,

  40.         ALIAS_METHOD*/;

  41.     }

  42. }