org.jacoco.core.analysis

## Interface ICoverageNode

All Known Subinterfaces:
  IBundleCoverage, IClassCoverage, IMethodCoverage, IPackageCoverage, ISourceFileCoverage, ISourceNode

All Known Implementing Classes:
  BundleCoverageImpl, ClassCoverageImpl, CoverageNodeImpl, MethodCoverageImpl, PackageCoverageImpl, SourceFileCoverageImpl, SourceNodeImpl

    public interface ICoverageNode

Interface for hierarchical coverage data nodes with different coverage counters.

### Nested Class Summary

Nested Classes
`static class` `ICoverageNode.CounterEntity` Different counter types supported by JaCoCo.
`static class` `ICoverageNode.ElementType` Type of a Java element represented by a `ICoverageNode` instance.

### Method Summary

All Methods Instance Methods Abstract Methods
`ICounter` `getBranchCounter()` Returns the counter for branches.
`ICounter` `getClassCounter()` Returns the counter for classes.
`ICounter` `getComplexityCounter()` Returns the counter for cyclomatic complexity.
`ICounter` `getCounter(ICoverageNode.CounterEntity entity)` Generic access to the the counters.
`ICoverageNode.ElementType` `getElementType()` Returns the type of element represented by this node.
`ICounter` `getInstructionCounter()` Returns the counter for byte code instructions.
`ICounter` `getLineCounter()` Returns the counter for lines.
`ICounter` `getMethodCounter()` Returns the counter for methods.
`String` `getName()` Returns the name of this node.
`ICoverageNode` `getPlainCopy()` Creates a plain copy of this node.

### Method Detail

#### getElementType

    ICoverageNode.ElementType getElementType()

Returns the type of element represented by this node.

Returns:
  type of this node

#### getName

    String getName()

Returns the name of this node.

Returns:
  name of this node

#### getInstructionCounter

    ICounter getInstructionCounter()

Returns the counter for byte code instructions.

Returns:
  counter for instructions

#### getBranchCounter

    ICounter getBranchCounter()

Returns the counter for branches.

Returns:
  counter for branches

#### getLineCounter

    ICounter getLineCounter()

Returns the counter for lines.

Returns:
  counter for lines

#### getComplexityCounter

    ICounter getComplexityCounter()

Returns the counter for cyclomatic complexity.

Returns:
  counter for complexity

#### getMethodCounter

    ICounter getMethodCounter()

Returns the counter for methods.

Returns:
  counter for methods

#### getClassCounter

    ICounter getClassCounter()

Returns the counter for classes.

Returns:
  counter for classes

#### getCounter

    ICounter getCounter(ICoverageNode.CounterEntity entity)

Generic access to the the counters.

Parameters:
  `entity` - entity we're we want to have the counter for
Returns:
  counter for the given entity

#### getPlainCopy

    ICoverageNode getPlainCopy()

Creates a plain copy of this node. While `ICoverageNode` implementations may contain heavy data structures, the copy returned by this method is reduced to the counters only. This helps to save memory while processing huge structures.

Returns:
  copy with counters only