diff --git a/src/checkstyle/com/puppycrawl/tools/checkstyle/checks/naming/ConstantNameCheck.java b/src/checkstyle/com/puppycrawl/tools/checkstyle/checks/naming/ConstantNameCheck.java index 2c04e731d..228915059 100644 --- a/src/checkstyle/com/puppycrawl/tools/checkstyle/checks/naming/ConstantNameCheck.java +++ b/src/checkstyle/com/puppycrawl/tools/checkstyle/checks/naming/ConstantNameCheck.java @@ -29,7 +29,8 @@ import com.puppycrawl.tools.checkstyle.api.TokenTypes; * by the format property. * A constant is a static and final * field or an interface/annotation field, except - * serialVersionUID. The format is a regular expression + * serialVersionUID and serialPersistentFields + * . The format is a regular expression * and defaults to ^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$. *

*

@@ -82,11 +83,12 @@ public class ConstantNameCheck if ((isStatic && isFinal) || ScopeUtils.inInterfaceOrAnnotationBlock(aAST)) { - // Handle the serialVersionUID constant which is used for - // Serialization. Cannot enforce rules on it. :-) + // Handle the serialVersionUID and serialPersistentFields constants + // which are used for Serialization. Cannot enforce rules on it. :-) final DetailAST nameAST = aAST.findFirstToken(TokenTypes.IDENT); if ((nameAST != null) - && !("serialVersionUID".equals(nameAST.getText()))) + && !("serialVersionUID".equals(nameAST.getText())) + && !("serialPersistentFields".equals(nameAST.getText()))) { retVal = true; } diff --git a/src/testinputs/com/puppycrawl/tools/checkstyle/naming/InputConstantNames.java b/src/testinputs/com/puppycrawl/tools/checkstyle/naming/InputConstantNames.java new file mode 100644 index 000000000..ba0f51ce9 --- /dev/null +++ b/src/testinputs/com/puppycrawl/tools/checkstyle/naming/InputConstantNames.java @@ -0,0 +1,5 @@ +public class InputConstantNames +{ + private static final long serialVersionUID = 1L; //should be ignored + private static final ObjectStreamField[] serialPersistentFields = {}; // should be ignored too +} diff --git a/src/tests/com/puppycrawl/tools/checkstyle/checks/naming/ConstantNameCheckTest.java b/src/tests/com/puppycrawl/tools/checkstyle/checks/naming/ConstantNameCheckTest.java index ed6753e5c..12ffd0f00 100644 --- a/src/tests/com/puppycrawl/tools/checkstyle/checks/naming/ConstantNameCheckTest.java +++ b/src/tests/com/puppycrawl/tools/checkstyle/checks/naming/ConstantNameCheckTest.java @@ -1,5 +1,7 @@ package com.puppycrawl.tools.checkstyle.checks.naming; +import java.io.File; + import com.puppycrawl.tools.checkstyle.BaseCheckTestCase; import com.puppycrawl.tools.checkstyle.DefaultConfiguration; import com.puppycrawl.tools.checkstyle.api.CheckstyleException; @@ -45,4 +47,14 @@ public class ConstantNameCheckTest }; verify(checkConfig, getPath("InputInner.java"), expected); } + + public void testDefault1() + throws Exception + { + final DefaultConfiguration checkConfig = + createCheckConfig(ConstantNameCheck.class); + final String[] expected = { + }; + verify(checkConfig, getPath("naming" + File.separator + "InputConstantNames.java"), expected); + } }