diff --git a/docs/config_design.html b/docs/config_design.html index d7135ff93..ab48ac427 100644 --- a/docs/config_design.html +++ b/docs/config_design.html @@ -31,9 +31,6 @@
  • HideUtilityClassConstructor
  • -
  • - IllegalAbstractClassName -
  • InterfaceIsType
  • @@ -349,52 +346,6 @@ public class StringUtils // not final to allow subclassing TreeWalker

    -

    IllegalAbstractClassName

    -

    Description

    -

    - Ensures that the names of abstract classes conforming to some - regular expression. -

    - -

    - Rationale: - Abtsract classes are conevnience base class - implementations of interfaces not types as such. As - such they should be named to indicate this. -

    - -

    Properties

    - - - - - - - - - - - - - -
    namedescriptiontypedefault value
    formatpattern for abstract class name.regular expression^Abstract.*$|^.*Factory$
    - -

    Examples

    -

    - To configure the check: -

    -
    -<module name="IllegalAbstractClassName"/>
    -      
    -

    Package

    -

    - com.puppycrawl.tools.checkstyle.checks.design -

    -

    Parent Module

    -

    - TreeWalker -

    - diff --git a/docs/config_naming.html b/docs/config_naming.html index 98dac7037..334b57dc2 100644 --- a/docs/config_naming.html +++ b/docs/config_naming.html @@ -45,6 +45,11 @@ validates identifiers for default value of format + + AbstractClassName + abstract classes + ^Abstract.*$|^.*Factory$ + ConstantName constants (static, diff --git a/src/checkstyle/com/puppycrawl/tools/checkstyle/checks/design/messages.properties b/src/checkstyle/com/puppycrawl/tools/checkstyle/checks/design/messages.properties index 4a40cc10b..57c5090b5 100644 --- a/src/checkstyle/com/puppycrawl/tools/checkstyle/checks/design/messages.properties +++ b/src/checkstyle/com/puppycrawl/tools/checkstyle/checks/design/messages.properties @@ -3,4 +3,3 @@ final.class=Class {0} should be declared as final. interface.type=interfaces should describe a type and hence have methods. variable.notPrivate=Variable ''{0}'' must be private and have accessor methods. mutable.exception=The field ''{0}'' must be declared final. -illegal.abstract.class.name=Name ''{0}'' must match pattern ''{1}''. diff --git a/src/checkstyle/com/puppycrawl/tools/checkstyle/checks/design/IllegalAbstractClassNameCheck.java b/src/checkstyle/com/puppycrawl/tools/checkstyle/checks/naming/AbstractClassNameCheck.java similarity index 92% rename from src/checkstyle/com/puppycrawl/tools/checkstyle/checks/design/IllegalAbstractClassNameCheck.java rename to src/checkstyle/com/puppycrawl/tools/checkstyle/checks/naming/AbstractClassNameCheck.java index 3cdd60697..d53135a52 100644 --- a/src/checkstyle/com/puppycrawl/tools/checkstyle/checks/design/IllegalAbstractClassNameCheck.java +++ b/src/checkstyle/com/puppycrawl/tools/checkstyle/checks/naming/AbstractClassNameCheck.java @@ -16,7 +16,7 @@ // License along with this library; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA //////////////////////////////////////////////////////////////////////////////// -package com.puppycrawl.tools.checkstyle.checks.design; +package com.puppycrawl.tools.checkstyle.checks.naming; import com.puppycrawl.tools.checkstyle.api.DetailAST; import com.puppycrawl.tools.checkstyle.api.TokenTypes; @@ -35,13 +35,13 @@ import com.puppycrawl.tools.checkstyle.checks.AbstractFormatCheck; * * @author Simon Harris */ -public final class IllegalAbstractClassNameCheck extends AbstractFormatCheck +public final class AbstractClassNameCheck extends AbstractFormatCheck { /** Defualt format for abstract class names */ private static final String DEFAULT_FORMAT = "^Abstract.*$|^.*Factory$"; /** Creates new instance of the check. */ - public IllegalAbstractClassNameCheck() + public AbstractClassNameCheck() { super(DEFAULT_FORMAT); } diff --git a/src/checkstyle/com/puppycrawl/tools/checkstyle/checks/naming/messages.properties b/src/checkstyle/com/puppycrawl/tools/checkstyle/checks/naming/messages.properties index f098dc6c2..061167c0e 100644 --- a/src/checkstyle/com/puppycrawl/tools/checkstyle/checks/naming/messages.properties +++ b/src/checkstyle/com/puppycrawl/tools/checkstyle/checks/naming/messages.properties @@ -1 +1,2 @@ name.invalidPattern=Name ''{0}'' must match pattern ''{1}''. +illegal.abstract.class.name=Name ''{0}'' must match pattern ''{1}''. diff --git a/src/testinputs/com/puppycrawl/tools/checkstyle/design/InputAbstractClassName.java b/src/testinputs/com/puppycrawl/tools/checkstyle/naming/InputAbstractClassName.java similarity index 85% rename from src/testinputs/com/puppycrawl/tools/checkstyle/design/InputAbstractClassName.java rename to src/testinputs/com/puppycrawl/tools/checkstyle/naming/InputAbstractClassName.java index fefc8bbab..7b3cc95a1 100644 --- a/src/testinputs/com/puppycrawl/tools/checkstyle/design/InputAbstractClassName.java +++ b/src/testinputs/com/puppycrawl/tools/checkstyle/naming/InputAbstractClassName.java @@ -1,4 +1,4 @@ -package com.puppycrawl.tools.checkstyle.checks.design; +package com.puppycrawl.tools.checkstyle.checks.naming; abstract public class InputAbstractClassName { } diff --git a/src/tests/com/puppycrawl/tools/checkstyle/AllTests.java b/src/tests/com/puppycrawl/tools/checkstyle/AllTests.java index beb2e5fa1..05d1cd232 100644 --- a/src/tests/com/puppycrawl/tools/checkstyle/AllTests.java +++ b/src/tests/com/puppycrawl/tools/checkstyle/AllTests.java @@ -47,7 +47,6 @@ import com.puppycrawl.tools.checkstyle.checks.coding.SuperFinalizeCheckTest; import com.puppycrawl.tools.checkstyle.checks.design.DesignForExtensionCheckTest; import com.puppycrawl.tools.checkstyle.checks.design.FinalClassCheckTest; import com.puppycrawl.tools.checkstyle.checks.design.HideUtilityClassConstructorCheckTest; -import com.puppycrawl.tools.checkstyle.checks.design.IllegalAbstractClassNameCheckTest; import com.puppycrawl.tools.checkstyle.checks.design.InterfaceIsTypeCheckTest; import com.puppycrawl.tools.checkstyle.checks.design.MutableExceptionCheckTest; import com.puppycrawl.tools.checkstyle.checks.design.VisibilityModifierCheckTest; @@ -72,6 +71,7 @@ import com.puppycrawl.tools.checkstyle.checks.javadoc.JavadocTypeCheckTest; import com.puppycrawl.tools.checkstyle.checks.javadoc.JavadocVariableCheckTest; import com.puppycrawl.tools.checkstyle.checks.javadoc.PackageHtmlCheckTest; import com.puppycrawl.tools.checkstyle.checks.metrics.CyclomaticComplexityCheckTest; +import com.puppycrawl.tools.checkstyle.checks.naming.AbstractClassNameCheckTest; import com.puppycrawl.tools.checkstyle.checks.naming.ConstantNameCheckTest; import com.puppycrawl.tools.checkstyle.checks.naming.LocalFinalVariableNameCheckTest; import com.puppycrawl.tools.checkstyle.checks.naming.LocalVariableNameCheckTest; @@ -120,6 +120,7 @@ public class AllTests { //$JUnit-BEGIN$ suite.addTest(new TestSuite(CheckerTest.class)); suite.addTest(new TestSuite(DetailASTTest.class)); + suite.addTest(new TestSuite(AbstractClassNameCheckTest.class)); suite.addTest(new TestSuite(AbstractViolationReporterTest.class)); suite.addTest(new TestSuite(AnonInnerLengthCheckTest.class)); suite.addTest(new TestSuite(ArrayTypeStyleCheckTest.class)); @@ -145,7 +146,6 @@ public class AllTests { suite.addTest(new TestSuite(HeaderCheckTest.class)); suite.addTest(new TestSuite(HiddenFieldCheckTest.class)); suite.addTest(new TestSuite(HideUtilityClassConstructorCheckTest.class)); - suite.addTest(new TestSuite(IllegalAbstractClassNameCheckTest.class)); suite.addTest(new TestSuite(IllegalCatchCheckTest.class)); suite.addTest(new TestSuite(IllegalImportCheckTest.class)); suite.addTest(new TestSuite(IllegalInstantiationCheckTest.class)); diff --git a/src/tests/com/puppycrawl/tools/checkstyle/checks/design/IllegalAbstractClassNameCheckTest.java b/src/tests/com/puppycrawl/tools/checkstyle/checks/naming/AbstractClassNameCheckTest.java similarity index 73% rename from src/tests/com/puppycrawl/tools/checkstyle/checks/design/IllegalAbstractClassNameCheckTest.java rename to src/tests/com/puppycrawl/tools/checkstyle/checks/naming/AbstractClassNameCheckTest.java index a0df6349f..665d65cee 100644 --- a/src/tests/com/puppycrawl/tools/checkstyle/checks/design/IllegalAbstractClassNameCheckTest.java +++ b/src/tests/com/puppycrawl/tools/checkstyle/checks/naming/AbstractClassNameCheckTest.java @@ -1,23 +1,22 @@ -package com.puppycrawl.tools.checkstyle.checks.design; +package com.puppycrawl.tools.checkstyle.checks.naming; import com.puppycrawl.tools.checkstyle.BaseCheckTestCase; import com.puppycrawl.tools.checkstyle.DefaultConfiguration; import java.io.File; -public class IllegalAbstractClassNameCheckTest - extends BaseCheckTestCase +public class AbstractClassNameCheckTest extends BaseCheckTestCase { public void testIllegalAbstractClassName() throws Exception { final DefaultConfiguration checkConfig = - createCheckConfig(IllegalAbstractClassNameCheck.class); + createCheckConfig(AbstractClassNameCheck.class); final String[] expected = { "3:1: Name 'InputAbstractClassName' must match pattern '^Abstract.*$|^.*Factory$'.", "6:1: Name 'NonAbstractClassName' must match pattern '^Abstract.*$|^.*Factory$'.", "9:1: Name 'FactoryWithBadName' must match pattern '^Abstract.*$|^.*Factory$'.", "13:5: Name 'NonAbstractInnerClass' must match pattern '^Abstract.*$|^.*Factory$'.", }; - verify(checkConfig, getPath("design" + File.separator + "InputAbstractClassName.java"), expected); + verify(checkConfig, getPath("naming" + File.separator + "InputAbstractClassName.java"), expected); } }