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"/> </module>
Constructor and Description |
---|
AnonInnerLengthCheck() |
Modifier and Type | Method and Description |
---|---|
int[] |
getDefaultTokens()
Returns the default token a check is interested in.
|
void |
setMax(int length) |
void |
visitToken(DetailAST ast)
Called to process a token.
|
beginTree, destroy, finishTree, getAcceptableTokens, getClassLoader, getFileContents, getLine, getLines, getRequiredTokens, getTabWidth, getTokenNames, init, isCommentNodesRequired, leaveToken, log, log, setClassLoader, setFileContents, setMessages, setTabWidth, setTokens
getCustomMessages, getId, getMessageBundle, getSeverity, getSeverityLevel, log, setId, setSeverity
configure, contextualize, finishLocalSetup, getConfiguration, setupChild
public AnonInnerLengthCheck()
public int[] getDefaultTokens()
Check
getDefaultTokens
in class Check
TokenTypes
public void visitToken(DetailAST ast)
Check
visitToken
in class Check
ast
- the token to processpublic void setMax(int length)
length
- the maximum length of an anonymous inner class.Copyright © 2001–2015. All rights reserved.