public class JavaNCSSCheck extends AbstractCheck
The NCSS-metric tries to determine complexity of methods, classes and files by counting the non commenting lines. Roughly said this is (nearly) equivalent to counting the semicolons and opening curly braces.
| Modifier and Type | Class and Description |
|---|---|
private static class |
JavaNCSSCheck.Counter
Class representing a counter.
|
| Modifier and Type | Field and Description |
|---|---|
private static int |
CLASS_MAX_NCSS
Default constant for max file ncss.
|
private int |
classMaximum
Maximum ncss for a class.
|
private java.util.Deque<JavaNCSSCheck.Counter> |
counters
List containing the stacked counters.
|
private static int |
FILE_MAX_NCSS
Default constant for max file ncss.
|
private int |
fileMaximum
Maximum ncss for a complete source file.
|
private static int |
METHOD_MAX_NCSS
Default constant for max method ncss.
|
private int |
methodMaximum
Maximum ncss for a method.
|
static java.lang.String |
MSG_CLASS
A key is pointing to the warning message text in "messages.properties"
file.
|
static java.lang.String |
MSG_FILE
A key is pointing to the warning message text in "messages.properties"
file.
|
static java.lang.String |
MSG_METHOD
A key is pointing to the warning message text in "messages.properties"
file.
|
| Constructor and Description |
|---|
JavaNCSSCheck() |
| Modifier and Type | Method and Description |
|---|---|
void |
beginTree(DetailAST rootAST)
Called before the starting to process a tree.
|
void |
finishTree(DetailAST rootAST)
Called after finished processing a tree.
|
int[] |
getAcceptableTokens()
The configurable token set.
|
int[] |
getDefaultTokens()
Returns the default token a check is interested in.
|
int[] |
getRequiredTokens()
The tokens that this check must be registered for.
|
private static boolean |
isCountable(DetailAST ast)
Checks if a token is countable for the ncss metric.
|
private static boolean |
isExpressionCountable(DetailAST ast)
Checks if an expression is countable for the ncss metric.
|
private static boolean |
isVariableDefCountable(DetailAST ast)
Checks if a variable definition is countable.
|
void |
leaveToken(DetailAST ast)
Called after all the child nodes have been process.
|
void |
setClassMaximum(int classMaximum)
Sets the maximum ncss for a class.
|
void |
setFileMaximum(int fileMaximum)
Sets the maximum ncss for a file.
|
void |
setMethodMaximum(int methodMaximum)
Sets the maximum ncss for a method.
|
void |
visitToken(DetailAST ast)
Called to process a token.
|
destroy, getClassLoader, getFileContents, getLine, getLines, getTabWidth, getTokenNames, init, isCommentNodesRequired, log, log, setClassLoader, setFileContents, setMessages, setTabWidth, setTokensgetCustomMessages, getId, getMessageBundle, getSeverity, getSeverityLevel, log, setId, setSeverityconfigure, contextualize, finishLocalSetup, getConfiguration, setupChildpublic static final java.lang.String MSG_METHOD
public static final java.lang.String MSG_CLASS
public static final java.lang.String MSG_FILE
private static final int FILE_MAX_NCSS
private static final int CLASS_MAX_NCSS
private static final int METHOD_MAX_NCSS
private int fileMaximum
private int classMaximum
private int methodMaximum
private java.util.Deque<JavaNCSSCheck.Counter> counters
public int[] getDefaultTokens()
AbstractCheckgetDefaultTokens in class AbstractCheckTokenTypespublic int[] getRequiredTokens()
AbstractCheckgetRequiredTokens in class AbstractCheckTokenTypespublic int[] getAcceptableTokens()
AbstractCheckgetAcceptableTokens in class AbstractCheckTokenTypespublic void beginTree(DetailAST rootAST)
AbstractCheckbeginTree in class AbstractCheckrootAST - the root of the treepublic void visitToken(DetailAST ast)
AbstractCheckvisitToken in class AbstractCheckast - the token to processpublic void leaveToken(DetailAST ast)
AbstractCheckleaveToken in class AbstractCheckast - the token leavingpublic void finishTree(DetailAST rootAST)
AbstractCheckfinishTree in class AbstractCheckrootAST - the root of the treepublic void setFileMaximum(int fileMaximum)
fileMaximum - the maximum ncsspublic void setClassMaximum(int classMaximum)
classMaximum - the maximum ncsspublic void setMethodMaximum(int methodMaximum)
methodMaximum - the maximum ncssprivate static boolean isCountable(DetailAST ast)
ast - the ASTprivate static boolean isVariableDefCountable(DetailAST ast)
ast - the ASTprivate static boolean isExpressionCountable(DetailAST ast)
ast - the AST