## com.puppycrawl.tools.checkstyle.checks.metrics
Class JavaNCSSCheck

    java.lang.Object
      com.puppycrawl.tools.checkstyle.api.AutomaticBean
          com.puppycrawl.tools.checkstyle.api.AbstractViolationReporter
              com.puppycrawl.tools.checkstyle.api.Check
                  com.puppycrawl.tools.checkstyle.checks.metrics.JavaNCSSCheck

All Implemented Interfaces:
  Configurable, Contextualizable

    public class JavaNCSSCheck

extends Check

This check calculates the Non Commenting Source Statements (NCSS) metric for java source files and methods. The check adheres to the JavaNCSS specification and gives the same results as the JavaNCSS tool. 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.

Author:
  Lars Ködderitzsch

Constructor Summary
`JavaNCSSCheck()`

Method Summary
`void` `beginTree(DetailAST aRootAST)` Called before the starting to process a tree.
`void` `finishTree(DetailAST aRootAST)` Called after finished processing a tree.
`int[]` `getDefaultTokens()` Returns the default token a check is interested in.
`int[]` `getRequiredTokens()` The tokens that this check must be registered for.
`void` `leaveToken(DetailAST aAST)` Called after all the child nodes have been process.
`void` `setClassMaximum(int aClassMax)` Sets the maximum ncss for a class.
`void` `setFileMaximum(int aFileMax)` Sets the maximum ncss for a file.
`void` `setMethodMaximum(int aMethodMax)` Sets the maximum ncss for a method.
`void` `visitToken(DetailAST aAST)` Called to process a token.

Methods inherited from class com.puppycrawl.tools.checkstyle.api.Check
`destroy, getAcceptableTokens, getClassLoader, getFileContents, getLines, getTabWidth, getTokenNames, init, log, log, setClassLoader, setFileContents, setMessages, setTabWidth, setTokens`

Methods inherited from class com.puppycrawl.tools.checkstyle.api.AbstractViolationReporter
`getId, getMessageBundle, getSeverity, getSeverityLevel, log, log, log, log, log, log, log, log, log, setId, setSeverity`

Methods inherited from class com.puppycrawl.tools.checkstyle.api.AutomaticBean
`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

### JavaNCSSCheck

    public JavaNCSSCheck()

Method Detail

### getDefaultTokens

    public int[] getDefaultTokens()

  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`
  Returns:
    the default tokens
  See Also:
    `TokenTypes`

### getRequiredTokens

    public int[] getRequiredTokens()

  The tokens that this check must be registered for.

  Overrides:
    `getRequiredTokens` in class `Check`
  Returns:
    the token set this must be registered for.
  See Also:
    `TokenTypes`

### beginTree

    public void beginTree(DetailAST aRootAST)

  Called before the starting to process a tree. Ideal place to initialise information that is to be collected whilst processing a tree.

  Overrides:
    `beginTree` in class `Check`
  Parameters:
    `aRootAST` - the root of the tree

### visitToken

    public void visitToken(DetailAST aAST)

  Called to process a token.

  Overrides:
    `visitToken` in class `Check`
  Parameters:
    `aAST` - the token to process

### leaveToken

    public void leaveToken(DetailAST aAST)

  Called after all the child nodes have been process.

  Overrides:
    `leaveToken` in class `Check`
  Parameters:
    `aAST` - the token leaving

### finishTree

    public void finishTree(DetailAST aRootAST)

  Called after finished processing a tree. Ideal place to report on information collected whilst processing a tree.

  Overrides:
    `finishTree` in class `Check`
  Parameters:
    `aRootAST` - the root of the tree

### setFileMaximum

    public void setFileMaximum(int aFileMax)

  Sets the maximum ncss for a file.

  Parameters:
    `aFileMax` - the maximum ncss

### setClassMaximum

    public void setClassMaximum(int aClassMax)

  Sets the maximum ncss for a class.

  Parameters:
    `aClassMax` - the maximum ncss

### setMethodMaximum

    public void setMethodMaximum(int aMethodMax)

  Sets the maximum ncss for a method.

  Parameters:
    `aMethodMax` - the maximum ncss

Back to the Checkstyle Home Page