Package: org.gmetrics.metric

## [Groovy] Class AbstractMetric

- org.gmetrics.metric.AbstractMetric

- All Implemented Interfaces and Traits:
    Metric

      abstract class AbstractMetric

  Abstract superclass for metrics. Subclasses must implement the `calculateForClass(ClassNode, SourceCode)` method.

  Authors:
    Chris Mair

- - ### Properties Summary

    Properties
    Type | Name and description
    --- | ---
    `boolean` | `enabled`
    `List<String>` | `functions`

  - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `ClassMetricResult` | `applyToClass(org.codehaus.groovy.ast.ClassNode classNode, SourceCode sourceCode)`
    `` | `MetricResult` | `applyToPackage(String path, String packageName, Collection<MetricResult> childMetricResults)`
    `` | `protected ClassMetricResult` | `calculateForClass(org.codehaus.groovy.ast.ClassNode classNode, SourceCode sourceCode)`
    `` | `protected MetricResult` | `calculateForPackage(String path, String packageName, Collection<MetricResult> childMetricResults)`
    `` | `protected MetricResult` | `createAggregateMetricResult(MetricLevel metricLevel, Collection<MetricResult> childMetricResults, org.codehaus.groovy.ast.ASTNode node = null)`
    `` | `protected boolean` | `isNotAnInterface(org.codehaus.groovy.ast.ClassNode classNode)`

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class Object` | `equals, toString, hashCode, getClass, notify, notifyAll, wait, wait, wait`

- - ### Property Detail

    - #### boolean enabled

    - #### List<String> functions

  - ### Method Detail

    - #### ClassMetricResult applyToClass(org.codehaus.groovy.ast.ClassNode classNode, SourceCode sourceCode)

    - #### MetricResult applyToPackage(String path, String packageName, Collection<MetricResult> childMetricResults)

    - #### protected ClassMetricResult calculateForClass(org.codehaus.groovy.ast.ClassNode classNode, SourceCode sourceCode)

    - #### @SuppressWarnings('UnusedMethodParameter') protected MetricResult calculateForPackage(String path, String packageName, Collection<MetricResult> childMetricResults)

    - #### protected MetricResult createAggregateMetricResult(MetricLevel metricLevel, Collection<MetricResult> childMetricResults, org.codehaus.groovy.ast.ASTNode node = null)

    - #### protected boolean isNotAnInterface(org.codehaus.groovy.ast.ClassNode classNode)