如何强制执行枚举常量必须在Checkstyle中为大写?

时间:2017-10-24 11:36:47

标签: java enums checkstyle

假设我有以下枚举:

enum Colour
{
    RED   (1),
    GREEN (2),
    Blue  (3); // Invalid

    final int colourCode;

    Colour(final int code)
    {
        this.colourCode = code;
    }
}

我希望Checkstyle强制执行所有枚举常量必须只包含大写字符,数字和下划线。

在这种情况下,Blue应该抛出错误,而其他所有内容(包括成员colourCode)都可以。

我查看了来自the naming section of the documentationMemberNameConstantNameStaticVariableName,但似乎没有适用,也无法在枚举中专门定位它们。

1 个答案:

答案 0 :(得分:2)

Core Checkstyle无法做到这一点,令人惊讶。您必须使用Sevntu Checkstyle插件,其中包含EnumValueNameCheck。我认为默认行为正是您所需要的,因此您需要对其进行配置:

datatype

确保在运行之前将Sevntu Checkstyle添加到Checkstyle类路径中。他们的网站上有关于如何在各种情况下执行此操作的说明。