Class EnumParser

java.lang.Object
com.wontlost.ckeditor.internal.EnumParser

public final class EnumParser extends Object
安全的枚举解析工具类。

提供类型安全的枚举解析,避免以下常见问题:

  • 土耳其语等特殊 locale 导致的大小写转换问题
  • null 或空字符串导致的异常
  • 无效值导致的 IllegalArgumentException

此类是内部 API,不应直接由外部代码使用。

  • Method Details

    • parse

      public static <T extends Enum<T>> T parse(String value, Class<T> enumType, T defaultValue)
      安全解析枚举值。

      解析规则:

      • 使用 Locale.ROOT 进行大小写转换,确保国际化安全
      • null 或空字符串返回默认值
      • 无效值返回默认值并记录警告日志
      Type Parameters:
      T - 枚举类型
      Parameters:
      value - 要解析的字符串值
      enumType - 目标枚举类型
      defaultValue - 解析失败时的默认值
      Returns:
      解析后的枚举值,失败时返回默认值
    • parse

      public static <T extends Enum<T>> T parse(String value, Class<T> enumType, T defaultValue, String context)
      安全解析枚举值,支持自定义日志消息。
      Type Parameters:
      T - 枚举类型
      Parameters:
      value - 要解析的字符串值
      enumType - 目标枚举类型
      defaultValue - 解析失败时的默认值
      context - 上下文描述(用于日志消息)
      Returns:
      解析后的枚举值,失败时返回默认值
    • parseStrict

      public static <T extends Enum<T>> T parseStrict(String value, Class<T> enumType)
      严格解析枚举值,无效值抛出异常。
      Type Parameters:
      T - 枚举类型
      Parameters:
      value - 要解析的字符串值
      enumType - 目标枚举类型
      Returns:
      解析后的枚举值
      Throws:
      IllegalArgumentException - 如果值为 null、空或无效