net.sourceforge.pmd.lang.java.rule.codesize

## Class CyclomaticComplexityRule

- java.lang.Object
- - net.sourceforge.pmd.AbstractPropertySource
  - - net.sourceforge.pmd.lang.rule.AbstractRule
    - - net.sourceforge.pmd.lang.java.rule.AbstractJavaRule
      - - net.sourceforge.pmd.lang.java.rule.codesize.CyclomaticComplexityRule

All Implemented Interfaces:
  JavaParserVisitor, ImmutableLanguage, PropertySource, Rule

    public class CyclomaticComplexityRule
    extends AbstractJavaRule

Since:
  January 14, 2003
Version:
  $Revision: 5956 $, $Date: 2008-04-04 04:59:25 -0500 (Fri, 04 Apr 2008) $
Author:
  Donald A. Leckie,

### Field Summary

Fields
`static IntegerProperty` `REPORT_LEVEL_DESCRIPTOR`
`static BooleanProperty` `SHOW_CLASSES_COMPLEXITY_DESCRIPTOR`
`static BooleanProperty` `SHOW_METHODS_COMPLEXITY_DESCRIPTOR`

### Fields inherited from class net.sourceforge.pmd.AbstractPropertySource

`propertyDescriptors, propertyValuesByDescriptor`

### Fields inherited from interface net.sourceforge.pmd.Rule

`VIOLATION_SUPPRESS_REGEX_DESCRIPTOR, VIOLATION_SUPPRESS_XPATH_DESCRIPTOR`

### Constructor Summary

Constructors
Constructor and Description
`CyclomaticComplexityRule()`

### Method Summary

Methods
`Object` `visit(ASTCatchStatement node, Object data)`
`Object` `visit(ASTClassOrInterfaceDeclaration node, Object data)`
`Object` `visit(ASTCompilationUnit node, Object data)`
`Object` `visit(ASTConditionalExpression node, Object data)`
`Object` `visit(ASTConstructorDeclaration node, Object data)`
`Object` `visit(ASTDoStatement node, Object data)`
`Object` `visit(ASTEnumDeclaration node, Object data)`
`Object` `visit(ASTForStatement node, Object data)`
`Object` `visit(ASTIfStatement node, Object data)`
`Object` `visit(ASTMethodDeclaration node, Object data)`
`Object` `visit(ASTSwitchStatement node, Object data)`
`Object` `visit(ASTWhileStatement node, Object data)`

### Methods inherited from class net.sourceforge.pmd.lang.java.rule.AbstractJavaRule

`apply, getDeclaringType, importsPackage, isQualifiedName, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visitAll`

### Methods inherited from class net.sourceforge.pmd.lang.rule.AbstractRule

`addExample, addRuleChainVisit, addRuleChainVisit, addViolation, addViolation, addViolation, addViolationWithMessage, addViolationWithMessage, addViolationWithMessage, deepCopyValuesTo, end, equals, getDescription, getExamples, getExternalInfoUrl, getLanguage, getMaximumLanguageVersion, getMessage, getMinimumLanguageVersion, getName, getParserOptions, getPriority, getRuleChainVisits, getRuleClass, getRuleSetName, getSince, hashCode, isDeprecated, setDeprecated, setDescription, setExternalInfoUrl, setLanguage, setMaximumLanguageVersion, setMessage, setMinimumLanguageVersion, setName, setPriority, setRuleClass, setRuleSetName, setSince, setUsesDFA, setUsesTypeResolution, start, usesDFA, usesRuleChain, usesTypeResolution`

### Methods inherited from class net.sourceforge.pmd.AbstractPropertySource

`copyPropertyDescriptors, copyPropertyValues, definePropertyDescriptor, dysfunctionReason, getPropertiesByPropertyDescriptor, getProperty, getPropertyDescriptor, getPropertyDescriptors, hasDescriptor, ignoredProperties, setProperty, useDefaultValueFor, usesDefaultValues`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface net.sourceforge.pmd.PropertySource

`definePropertyDescriptor, dysfunctionReason, getPropertiesByPropertyDescriptor, getProperty, getPropertyDescriptor, getPropertyDescriptors, hasDescriptor, ignoredProperties, setProperty, useDefaultValueFor, usesDefaultValues`

### Field Detail

#### REPORT_LEVEL_DESCRIPTOR

    public static final IntegerProperty REPORT_LEVEL_DESCRIPTOR

#### SHOW_CLASSES_COMPLEXITY_DESCRIPTOR

    public static final BooleanProperty SHOW_CLASSES_COMPLEXITY_DESCRIPTOR

#### SHOW_METHODS_COMPLEXITY_DESCRIPTOR

    public static final BooleanProperty SHOW_METHODS_COMPLEXITY_DESCRIPTOR

### Constructor Detail

#### CyclomaticComplexityRule

    public CyclomaticComplexityRule()

### Method Detail

#### visit

    public Object visit(ASTCompilationUnit node,
               Object data)

Specified by:
  `visit` in interface `JavaParserVisitor`
Overrides:
  `visit` in class `AbstractJavaRule`

#### visit

    public Object visit(ASTIfStatement node,
               Object data)

Specified by:
  `visit` in interface `JavaParserVisitor`
Overrides:
  `visit` in class `AbstractJavaRule`

#### visit

    public Object visit(ASTCatchStatement node,
               Object data)

Specified by:
  `visit` in interface `JavaParserVisitor`
Overrides:
  `visit` in class `AbstractJavaRule`

#### visit

    public Object visit(ASTForStatement node,
               Object data)

Specified by:
  `visit` in interface `JavaParserVisitor`
Overrides:
  `visit` in class `AbstractJavaRule`

#### visit

    public Object visit(ASTDoStatement node,
               Object data)

Specified by:
  `visit` in interface `JavaParserVisitor`
Overrides:
  `visit` in class `AbstractJavaRule`

#### visit

    public Object visit(ASTSwitchStatement node,
               Object data)

Specified by:
  `visit` in interface `JavaParserVisitor`
Overrides:
  `visit` in class `AbstractJavaRule`

#### visit

    public Object visit(ASTWhileStatement node,
               Object data)

Specified by:
  `visit` in interface `JavaParserVisitor`
Overrides:
  `visit` in class `AbstractJavaRule`

#### visit

    public Object visit(ASTConditionalExpression node,
               Object data)

Specified by:
  `visit` in interface `JavaParserVisitor`
Overrides:
  `visit` in class `AbstractJavaRule`

#### visit

    public Object visit(ASTClassOrInterfaceDeclaration node,
               Object data)

Specified by:
  `visit` in interface `JavaParserVisitor`
Overrides:
  `visit` in class `AbstractJavaRule`

#### visit

    public Object visit(ASTMethodDeclaration node,
               Object data)

Specified by:
  `visit` in interface `JavaParserVisitor`
Overrides:
  `visit` in class `AbstractJavaRule`

#### visit

    public Object visit(ASTEnumDeclaration node,
               Object data)

Specified by:
  `visit` in interface `JavaParserVisitor`
Overrides:
  `visit` in class `AbstractJavaRule`

#### visit

    public Object visit(ASTConstructorDeclaration node,
               Object data)

Specified by:
  `visit` in interface `JavaParserVisitor`
Overrides:
  `visit` in class `AbstractJavaRule`