Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## net.sourceforge.pmd.rules.design
Class NpathComplexity

    java.lang.Object
      net.sourceforge.pmd.CommonAbstractRule
          net.sourceforge.pmd.AbstractJavaRule
              net.sourceforge.pmd.stat.StatisticalRule
                  net.sourceforge.pmd.rules.design.NpathComplexity

All Implemented Interfaces:
  JavaParserVisitor, Rule

    public class NpathComplexity

extends StatisticalRule

NPath complexity is a measurement of the acyclic execution paths through a function. See Nejmeh, Communications of the ACM Feb 1988 pp 188-200.

Author:
  Jason Bennett

Field Summary

Fields inherited from class net.sourceforge.pmd.stat.StatisticalRule
`DELTA`

Fields inherited from interface net.sourceforge.pmd.Rule
`LOWEST_PRIORITY, PRIORITIES`

Constructor Summary
`NpathComplexity()`

Method Summary
`protected void` | `makeViolations(RuleContext ctx, java.util.Set<DataPoint> p)`
`static int` | `sumExpressionComplexity(ASTExpression expr)` Calculate the boolean complexity of the given expression.
`java.lang.Object` | `visit(ASTConditionalExpression node, java.lang.Object data)`
`java.lang.Object` | `visit(ASTDoStatement node, java.lang.Object data)`
`java.lang.Object` | `visit(ASTForStatement node, java.lang.Object data)`
`java.lang.Object` | `visit(ASTIfStatement node, java.lang.Object data)`
`java.lang.Object` | `visit(ASTMethodDeclaration node, java.lang.Object data)`
`java.lang.Object` | `visit(ASTReturnStatement node, java.lang.Object data)`
`java.lang.Object` | `visit(ASTSwitchStatement node, java.lang.Object data)`
`java.lang.Object` | `visit(ASTTryStatement node, java.lang.Object data)`
`java.lang.Object` | `visit(ASTWhileStatement node, java.lang.Object data)`
`java.lang.Object` | `visit(SimpleJavaNode node, java.lang.Object data)`

Methods inherited from class net.sourceforge.pmd.stat.StatisticalRule
`addDataPoint, apply, applyMinimumValue, applyTopScore, getMean, getStdDev, propertiesByName`

Methods inherited from class net.sourceforge.pmd.AbstractJavaRule
`addViolation, addViolation, addViolation, addViolationWithMessage, 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, visitAll`

Methods inherited from class net.sourceforge.pmd.CommonAbstractRule
`addExample, addProperties, addProperty, addRuleChainVisit, asFixedMap, asFixedMap, end, equals, getBooleanProperties, getBooleanProperty, getBooleanProperty, getDescription, getDoubleProperties, getDoubleProperty, getDoubleProperty, getExample, getExamples, getExternalInfoUrl, getIntProperties, getIntProperty, getIntProperty, getMessage, getName, getPriority, getPriorityName, getProperties, getRuleChainVisits, getRuleClass, getRuleSetName, getSince, getStringProperties, getStringProperty, getStringProperty, getTypeProperties, getTypeProperty, hashCode, hasProperty, include, propertyDescriptorFor, setDescription, setExternalInfoUrl, setInclude, setMessage, setName, setPriority, setProperties, setProperty, setRuleClass, setRuleSetName, setSince, setUsesDFA, setUsesTypeResolution, start, usesDFA, usesRuleChain, usesTypeResolution`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### NpathComplexity

    public NpathComplexity()

Method Detail

### visit

    public java.lang.Object visit(ASTMethodDeclaration node,
                                  java.lang.Object data)

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

### visit

    public java.lang.Object visit(SimpleJavaNode node,
                                  java.lang.Object data)

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

### visit

    public java.lang.Object visit(ASTIfStatement node,
                                  java.lang.Object data)

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

### visit

    public java.lang.Object visit(ASTWhileStatement node,
                                  java.lang.Object data)

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

### visit

    public java.lang.Object visit(ASTDoStatement node,
                                  java.lang.Object data)

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

### visit

    public java.lang.Object visit(ASTForStatement node,
                                  java.lang.Object data)

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

### visit

    public java.lang.Object visit(ASTReturnStatement node,
                                  java.lang.Object data)

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

### visit

    public java.lang.Object visit(ASTSwitchStatement node,
                                  java.lang.Object data)

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

### visit

    public java.lang.Object visit(ASTTryStatement node,
                                  java.lang.Object data)

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

### visit

    public java.lang.Object visit(ASTConditionalExpression node,
                                  java.lang.Object data)

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

### sumExpressionComplexity

    public static int sumExpressionComplexity(ASTExpression expr)

  Calculate the boolean complexity of the given expression. NPath boolean complexity is the sum of && and || tokens. This is calculated by summing the number of children of the &&'s (minus one) and the children of the ||'s (minus one).

  Note that this calculation applies to Cyclomatic Complexity as well.

  Parameters:
    `expr` - control structure expression
  Returns:
    complexity of the boolean expression

### makeViolations

    protected void makeViolations(RuleContext ctx,
                                  java.util.Set<DataPoint> p)

  Overrides:
    `makeViolations` in class `StatisticalRule`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2002-2009 InfoEther. All Rights Reserved.