MetamodelConfig.java

  1. package com.github.mygreen.sqlmapper.apt;

  2. import java.util.Map;

  3. import lombok.RequiredArgsConstructor;

  4. /**
  5.  * メタモデルの生成オプション。
  6.  *
  7.  *
  8.  * @author T.TSUCHIE
  9.  *
  10.  */
  11. @RequiredArgsConstructor
  12. public class MetamodelConfig {

  13.     /**
  14.      * 生成オプションのキー - エンティティのメタモデルクラスの接頭語
  15.      */
  16.     public static final String KEY_PREFIX = "sqlmapper.prefix";

  17.     /**
  18.      * 生成オプションのキー - エンティティのメタモデルクラスの接尾語
  19.      */
  20.     public static final String KEY_SUFFIX = "sqlmapper.suffix";

  21.     /**
  22.      * 生成オプションのキー - 生成ソースのインデント
  23.      */
  24.     public static final String KEY_INDENT = "sqlmapper.indent";

  25.     /**
  26.      * APTの設定オプション
  27.      */
  28.     private final Map<String, String> options;

  29.     /**
  30.      * 生成するエンティティのメタモデルクラスの接尾語
  31.      * @return 初期値 {@literal M}。
  32.      */
  33.     public String getPrefix() {
  34.         return options.getOrDefault(KEY_PREFIX, "M");
  35.     }

  36.     /**
  37.      * 生成するエンティティのメタモデルクラスの接尾語
  38.      * @return 初期値は空文字({@literal ""})。
  39.      */
  40.     public String getSuffix() {
  41.         return options.getOrDefault(KEY_SUFFIX, "");
  42.     }

  43.     /**
  44.      * 生成するソースのインデント
  45.      * @return 初期値は半角スペース4つ({@literal    }
  46.      */
  47.     public String getIndent() {
  48.         return options.getOrDefault(KEY_INDENT, "    ");
  49.     }

  50. }