Class AnonInnerLengthCheck

  • All Implemented Interfaces:
    Configurable, Contextualizable

    public class AnonInnerLengthCheck
    extends AbstractCheck

    Checks for long anonymous inner classes.

    Rationale: If an anonymous inner class becomes very long it is hard to understand and to see the flow of the method where the class is defined. Therefore long anonymous inner classes should usually be refactored into a named inner class. See also Bloch, Effective Java, p. 93.

    • Property max - Specify the maximum number of lines allowed. Type is int. Default value is 20.

    To configure the check to accept anonymous classes with up to 20 lines:

     <module name="AnonInnerLength"/>
     

    To configure the check to accept anonymous classes with up to 60 lines:

     <module name="AnonInnerLength">
       <property name="max" value="60"/>
     </module>
     

    Parent is com.puppycrawl.tools.checkstyle.TreeWalker

    Violation Message Keys:

    • maxLen.anonInner
    Since:
    3.2