Class AnonInnerLengthCheck

  extended by
      extended by
          extended by
              extended by
All Implemented Interfaces:
Configurable, Contextualizable

public class AnonInnerLengthCheck
extends Check

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.

The default maximum anonymous inner class length is 20 lines. To change the maximum number of lines, set property max.

An example of how to configure the check is:

 <module name="AnonInnerLength"/>

An example of how to configure the check so that it accepts anonymous inner classes with up to 60 lines is:

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

Rob Worth

Constructor Summary
Method Summary
 int[] getDefaultTokens()
          Returns the default token a check is interested in.
 void setMax(int aLength)
 void visitToken(DetailAST aAST)
          Called to process a token.
Methods inherited from class
beginTree, destroy, finishTree, getAcceptableTokens, getClassLoader, getFileContents, getLines, getRequiredTokens, getTabWidth, getTokenNames, init, leaveToken, log, log, setClassLoader, setFileContents, setMessages, setTabWidth, setTokens
Methods inherited from class
getCustomMessages, getId, getMessageBundle, getSeverity, getSeverityLevel, log, setId, setSeverity
Methods inherited from class
configure, contextualize, finishLocalSetup, getConfiguration, setupChild
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Detail


public AnonInnerLengthCheck()
Method Detail


public int[] getDefaultTokens()
Description copied from class: Check
Returns the default token a check is interested in. Only used if the configuration for a check does not define the tokens.

Specified by:
getDefaultTokens in class Check
the default tokens
See Also:


public void visitToken(DetailAST aAST)
Description copied from class: Check
Called to process a token.

visitToken in class Check
aAST - the token to process


public void setMax(int aLength)
aLength - the maximum length of an anonymous inner class.

Copyright © 2001-2014. All Rights Reserved.