Enum Class StringTemplate.Feature

java.lang.Object
java.lang.Enum<StringTemplate.Feature>
org.miaixz.bus.core.text.placeholder.StringTemplate.Feature
All Implemented Interfaces:
Serializable, Comparable<StringTemplate.Feature>, Constable
Enclosing class:
StringTemplate

public static enum StringTemplate.Feature extends Enum<StringTemplate.Feature>
格式化 和 解析 策略

同组内的策略是互斥的,一但设置为组内的某个新策略,就会清除之前的同组策略,仅保留新策略

  • Enum Constant Details

    • FORMAT_MISSING_KEY_PRINT_WHOLE_PLACEHOLDER

      public static final StringTemplate.Feature FORMAT_MISSING_KEY_PRINT_WHOLE_PLACEHOLDER
      格式化时,如果 占位符 没有 对应的值,则打印完整占位符 对于 变量占位符,例如"${name}",原样打印"${name}"

      默认策略

    • FORMAT_MISSING_KEY_PRINT_DEFAULT_VALUE

      public static final StringTemplate.Feature FORMAT_MISSING_KEY_PRINT_DEFAULT_VALUE
      格式化时,如果 占位符 没有 对应的值,则打印 默认值,如果 没有默认值,则抛出异常
    • FORMAT_MISSING_KEY_PRINT_NULL

      public static final StringTemplate.Feature FORMAT_MISSING_KEY_PRINT_NULL
      格式化时,如果 占位符 没有 对应的值,且没有默认值,则打印 "null"字符串
    • FORMAT_MISSING_KEY_PRINT_EMPTY

      public static final StringTemplate.Feature FORMAT_MISSING_KEY_PRINT_EMPTY
      格式化时,如果 占位符 没有 对应的值,则打印 空字符串

      该策略意味着 模板存在默认值,且为 空字符串

    • FORMAT_MISSING_KEY_PRINT_VARIABLE_NAME

      public static final StringTemplate.Feature FORMAT_MISSING_KEY_PRINT_VARIABLE_NAME
      格式化时,如果 占位符 没有 对应的值: 对于 单个占位符,例如"?",打印完整占位符"?"; 对于 变量占位符,则只打印占位变量,例如"${name}",只打印"name";
    • FORMAT_MISSING_KEY_THROWS

      public static final StringTemplate.Feature FORMAT_MISSING_KEY_THROWS
      格式化时,如果 占位符 没有 对应的值,则抛出异常
    • FORMAT_NULL_VALUE_TO_STR

      public static final StringTemplate.Feature FORMAT_NULL_VALUE_TO_STR
      格式化时,如果 占位符 对应的值为 null,则打印 "null" 字符串

      默认策略

    • FORMAT_NULL_VALUE_TO_EMPTY

      public static final StringTemplate.Feature FORMAT_NULL_VALUE_TO_EMPTY
      格式化时,如果 占位符 对应的值为 null,则打印 "" 空字符串
    • FORMAT_NULL_VALUE_TO_WHOLE_PLACEHOLDER

      public static final StringTemplate.Feature FORMAT_NULL_VALUE_TO_WHOLE_PLACEHOLDER
      格式化时,如果 占位符 对应的值为 null,则原样打印占位符 对于 变量占位符,输出完整占位符,例如"${name}",打印"${name}"
    • FORMAT_NULL_VALUE_TO_DEFAULT_VALUE

      public static final StringTemplate.Feature FORMAT_NULL_VALUE_TO_DEFAULT_VALUE
      格式化时,如果 占位符 对应的值为 null,则使用 默认值,如果 没有默认值,则抛出异常
    • MATCH_KEEP_DEFAULT_VALUE

      public static final StringTemplate.Feature MATCH_KEEP_DEFAULT_VALUE
      解析时,结果中 包含 默认值,原样返回

      默认策略

    • MATCH_IGNORE_DEFAULT_VALUE

      public static final StringTemplate.Feature MATCH_IGNORE_DEFAULT_VALUE
      解析时,结果中 不包含 默认值,只要等于默认值,都忽略

      即,返回的结果 map 中 不会包含 这个key

      在 基于下标的解析方法中 不生效,基于下标的解析结果只区分是否为 null,元素数量是固定的

    • MATCH_DEFAULT_VALUE_TO_NULL

      public static final StringTemplate.Feature MATCH_DEFAULT_VALUE_TO_NULL
      解析时,在 结果中 将 默认值 转为 null

      返回的结果 map 中 包含 这个key

    • MATCH_EMPTY_VALUE_TO_NULL

      public static final StringTemplate.Feature MATCH_EMPTY_VALUE_TO_NULL
      解析时,占位符 对应的值为 空字符串,将 这个空字符串 转为 null

      默认策略

    • MATCH_EMPTY_VALUE_TO_DEFAULT_VALUE

      public static final StringTemplate.Feature MATCH_EMPTY_VALUE_TO_DEFAULT_VALUE
      解析时,占位符 对应的值为 空字符串,将 这个空字符串 转为 默认值,如果 没有默认值,则转为 null
    • MATCH_IGNORE_EMPTY_VALUE

      public static final StringTemplate.Feature MATCH_IGNORE_EMPTY_VALUE
      解析时,占位符 对应的值为 空字符串,结果中 不包含 这个空字符串

      即,返回的结果 map 中 不会包含 这个key

      在 基于下标的解析方法中 不生效,基于下标的解析结果只区分是否为 null,元素数量是固定的

    • MATCH_KEEP_VALUE_EMPTY

      public static final StringTemplate.Feature MATCH_KEEP_VALUE_EMPTY
      解析时,占位符 对应的值为 空字符串,结果中 依然保留 这个空字符串
    • MATCH_NULL_STR_TO_NULL

      public static final StringTemplate.Feature MATCH_NULL_STR_TO_NULL
      解析时,占位符 对应的值为 "null" 字符串,在 结果中 转为 null

      默认策略

    • MATCH_KEEP_NULL_STR

      public static final StringTemplate.Feature MATCH_KEEP_NULL_STR
      解析时,占位符 对应的值为 "null" 字符串,在 结果中 保留字符串形式 "null"
    • MATCH_IGNORE_NULL_STR

      public static final StringTemplate.Feature MATCH_IGNORE_NULL_STR
      解析时,占位符 对应的值为 "null" 字符串,结果中 不包含 这个值

      即,返回的结果 map 中 不会包含 这个key

      在 基于下标的解析方法中 不生效,基于下标的解析结果只区分是否为 null,元素数量是固定的

  • Method Details

    • values

      public static StringTemplate.Feature[] values()
      Returns an array containing the constants of this enum class, in the order they are declared.
      Returns:
      an array containing the constants of this enum class, in the order they are declared
    • valueOf

      public static StringTemplate.Feature valueOf(String name)
      Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum class has no constant with the specified name
      NullPointerException - if the argument is null
    • of

      public static int of(StringTemplate.Feature... features)
      计算 总的策略值
      Parameters:
      features - 策略枚举数组
      Returns:
      总的策略值
    • contains

      public boolean contains(int features)
      是否为当前策略
      Parameters:
      features - 外部的策略值
      Returns:
      是否为当前策略
    • set

      public int set(int features)
      在 策略值 中添加 当前策略
      Parameters:
      features - 外部的策略值
      Returns:
      添加后的策略值
    • clear

      public int clear(int features)
      在 策略值 中移除 当前策略
      Parameters:
      features - 外部的策略值
      Returns:
      移除后的策略值