# All Classes

All Classes Interface Summary Class Summary Enum Summary Exception Summary
AbstractCoverageTask: Base class for all coverage tasks that require agent options
AbstractGroupVisitor: Internal base visitor to calculate group counter summaries for hierarchical reports.
AbstractRuntime: Base `IRuntime` implementation.
Agent: The agent manages the life cycle of JaCoCo runtime.
AgentJar: API to access the agent JAR file as a resource.
AgentOptions: Utility to create and parse options for the runtime agent.
AgentOptions.OutputMode: Possible values for `AgentOptions.OUTPUT`.
AgentTask: Ant task that will unpack the coverage agent jar and generate the JVM options required to use it
Analyzer: An `Analyzer` instance processes a set of Java class files and calculates coverage data for them.
AnnotationGeneratedFilter: Filters classes and methods annotated with `runtime visible` and `invisible` annotation whose simple name contains `Generated`.
BarColumn: Column with a graphical bar that represents the total amount of items in with length, and the coverage ratio with a red/green sections.
BundleCoverageImpl: Implementation of `IBundleCoverage`.
BundlePage: Page showing coverage information for a bundle.
ClassAnalyzer: Analyzes the structure of a class.
ClassCoverageImpl: Implementation of `IClassCoverage`.
ClassInstrumenter: Adapter that instruments a class for coverage tracing.
ClassPage: Page showing coverage information for a class as a table of methods.
ClassProbesAdapter: A `ClassVisitor` that calculates probes for every method.
ClassProbesVisitor: A `ClassVisitor` with additional methods to get probe insertion information for each method
CompactDataInput: Additional data input methods for compact storage of data structures.
CompactDataOutput: Additional data output methods for compact storage of data structures.
ContentTypeDetector: Detector for content types of binary streams based on a magic headers.
CounterColumn: Column that prints the counter values of entities for each item and a summary in the footer.
CounterComparator: Collection of comparators to compare `ICounter` objects by different criteria.
CounterImpl: `ICounter` implementations.
CoverageBuilder: Builder for hierarchical `ICoverageNode` structures from single `IClassCoverage` nodes.
CoverageNodeImpl: Base implementation for coverage data nodes.
CoverageTask: Container task to run Java/JUnit tasks with the JaCoCo agent jar.
CoverageTransformer: Class file transformer to instrument classes for code coverage analysis.
CRC64: CRC64 checksum calculator based on the polynom specified in ISO 3309.
CSVFormatter: Report formatter that will create a single CSV file.
DirectorySourceFileLocator: Locator for source files that picks source files from a given directory in the file system.
DumpTask: Ant task for remotely controlling an application that is running with the tcpserver output mode
ElementIndex: An index over all report pages that allows queries according to certain criteria.
EnumEmptyConstructorFilter: Filters empty enum constructors.
EnumFilter: Filters methods `values` and `valueOf` that compiler creates for enums.
ExecDumpClient: A client for remote execution data dumps.
ExecFileLoader: Convenience utility for loading *.exec files into a `ExecutionDataStore` and a `SessionInfoStore`.
ExecutionData: Execution data for a single Java class.
ExecutionDataReader: Deserialization of execution data from binary streams.
ExecutionDataStore: In-memory data store for execution data.
ExecutionDataWriter: Serialization of execution data into binary streams.
FileMultiReportOutput: Implementation of `IMultiReportOutput` that writes files directly to a given directory.
FileOutput: Local only agent output that will write coverage data to the filesystem.
Filters: Filter that combines other filters.
FinallyFilter: Filters duplicates of finally blocks that compiler generates.
GroupPage: Page showing coverage information for a node that groups other nodes.
HTMLElement: A `XMLElement` with utility methods to create XHTML documents.
HTMLFormatter: Formatter for coverage reports in multiple HTML pages.
HTMLGroupVisitor: Group visitor for HTML reports.
IAgent: Runtime API and MBean agent interface.
IAgentOutput: Common interface for different implementations that outputs execution data dumps.
IBundleCoverage: Coverage data of a bundle.
IClassCoverage: Coverage data of a single class containing methods.
IColumnRenderer: Renderer for a single column of a coverage table.
ICounter: A counter holds the missed and the covered number of particular items like classes, methods, branches or instructions.
ICounter.CounterValue: Different values provided by a counter.
ICoverageNode: Interface for hierarchical coverage data nodes with different coverage counters.
ICoverageNode.CounterEntity: Different counter types supported by JaCoCo.
ICoverageNode.ElementType: Type of a Java element represented by a `ICoverageNode` instance.
ICoverageVisitor: Interface for coverage data output as a stream of `IClassCoverage` instances.
IExceptionLogger: At several places exception might occur that should be reported.
IExecutionDataAccessorGenerator: The instrumented classes need a piece of code that obtains a `boolean[]` instance from the runtime.
IExecutionDataVisitor: Interface for data output of collected execution data.
IFilter: Interface for filter implementations.
IFilterContext: Context information provided to filters.
IFilterOutput: Interface used by filters to mark filtered items.
IFrame: Representation of the current stackmap frame content.
IHTMLReportContext: Context and configuration information during creation of a HTML report.
IIndexUpdate: Every report page that should become part of the index must be added via this interface.
ILanguageNames: Interface to create programming language specific names from VM names.
ILine: The instruction and branch coverage of a single source line is described by this interface.
ILinkable: Abstraction for items that can be linked to in a report.
IMethodCoverage: Coverage data of a single method.
IMultiReportOutput: Interface to emit multiple binary files.
IncompatibleExecDataVersionException: Signals that execution data in an incompatible version was tried to read.
InjectedClassRuntime: `IRuntime` which defines a new class using `java.lang.invoke.MethodHandles.Lookup.defineClass` introduced in Java 9.
InputStreams: Utilities for `InputStream`s.
InputStreamSourceFileLocator: Abstract base class for `ISourceFileLocator` locator implementations based on `InputStream`s.
InstrSupport: Constants and utilities for byte code instrumentation.
Instruction: Execution status of a single bytecode instruction internally used for coverage analysis.
Instrumenter: Several APIs to instrument Java class definitions for coverage tracing.
InstrumentTask: Task for offline instrumentation of class files.
IPackageCoverage: Coverage data of a Java package containing classes and source files.
IProbeArrayStrategy: Strategies to retrieve the probe array instance for each method within a type.
IProbeIdGenerator: Internal interface to create probe ids unique within a class.
IRemoteCommandVisitor: Interface for remote commands to a coverage runtime.
IReportGroupVisitor: Output-Interface for hierarchical report structures.
IReportVisitor: Interface for all implementations to retrieve structured report data.
IRuntime: This interface represents a particular mechanism to collect execution information in the target VM at runtime.
ISessionInfoVisitor: Interface for data output of collected session information.
ISourceFileCoverage: Coverage data of a single source file.
ISourceFileLocator: Interface to look-up source files that will be included with the report.
ISourceNode: Interface for coverage nodes that have individual source lines like methods, classes and source files.
ITableItem: Interface for a item (row) in a coverage data table.
IViolationsOutput: Call-back interface which is used to report rule violations to.
JaCoCo: Static Meta information about JaCoCo.
JavaNames: Names for the Java language.
KotlinCoroutineFilter: Filters branches that Kotlin compiler generates for coroutines.
KotlinDefaultArgumentsFilter: Filters branches that Kotlin compiler generates for default arguments.
KotlinGeneratedFilter: Filters methods generated by the Kotlin compiler.
KotlinInlineFilter: Filters out instructions that were inlined by Kotlin compiler.
KotlinLateinitFilter: Filters branch in bytecode that Kotlin compiler generates for reading from `lateinit` properties.
KotlinNotNullOperatorFilter: Filters branch in bytecode that Kotlin compiler generates for not-null assertion operator.
KotlinUnsafeCastOperatorFilter: Filters branch in bytecode that Kotlin compiler generates for "unsafe" cast operator.
KotlinWhenFilter: Filters bytecode that Kotlin compiler generates for `when` expressions which list all cases of `enum` or `sealed class`, i.e.
KotlinWhenStringFilter: Filters bytecode that Kotlin compiler generates for `when` expressions with a `String`.
LabelColumn: Column for the item label.
LabelFlowAnalyzer: Method visitor to collect flow related information about the `Label`s within a class.
LabelInfo: Data container that is attached to `Label.info` objects to store flow and instrumentation specific information.
Limit: Descriptor for a limit which is given by a `Rule`.
LineImpl: Implementation of `ILine`.
LoggerRuntime: This `IRuntime` implementation uses the Java logging API to report coverage data.
MergeTask: Task for merging a set of execution data files (*.exec) into a single file
MethodAnalyzer: A `MethodProbesVisitor` that builds the `Instruction`s of a method to calculate the detailed execution status.
MethodCoverageImpl: Implementation of `IMethodCoverage`.
MethodProbesAdapter: Adapter that creates additional visitor events for probes to be inserted into a method.
MethodProbesVisitor: A `MethodVisitor` with additional methods to get probe insertion information.
ModifiedSystemClassRuntime: This `IRuntime` implementation works with a modified system class.
MultiReportVisitor: A report visitor that is composed from multiple other visitors.
MultiSourceFileLocator: Locator that searches source files in multiple `ISourceFileLocator` instances.
NodeComparator: Comparator to compare `ICoverageNode` objects by different counter criteria.
NodePage<NodeType extends ICoverageNode>: Report page that represents a coverage node.
NoneOutput: Output that does nothing.
Offline: The API for classes instrumented in "offline" mode.
OfflineInstrumentationAccessGenerator: This implementation of `IExecutionDataAccessorGenerator` generate a direct dependency to the JaCoCo runtime agent to initialize the runtime and obtain probe arrays.
Pack200Streams: Internal wrapper for the weird Pack200 Java API to allow usage with streams.
PackageCoverageImpl: Implementation of `IPackageCoverage`.
PackagePage: Page showing coverage information for a Java package.
PackageSourcePage: Page showing coverage information for a Java package.
PercentageColumn: Column that prints the coverage percentage for each item and the total percentage in the footer.
PreMain: The agent which is referred as the `Premain-Class`.
PrivateEmptyNoArgConstructorFilter: Filters private empty constructors that do not have arguments.
ProbeArrayStrategyFactory: Factory to find a suitable strategy to access the probe array for a given class.
RemoteControlReader: `ExecutionDataReader` with commands added for runtime remote control.
RemoteControlWriter: `ExecutionDataWriter` with commands added for runtime remote control.
ReportElement: A `XMLElement` with utility methods to create JaCoCo XML reports.
ReportOutputFolder: Logical representation of a folder in the output structure.
ReportPage: Base class for HTML page generators.
ReportTask: Task for coverage report generation.
ReportTask.GroupElement: Container element for class file groups.
ReportTask.SourceFilesElement: The source files are specified in a resource collection with additional attributes.
Resources: Static resource that are included with the coverage report and might be referenced from created HTML pages.
RT: Deprecated. Use `IAgent` instead.
RT: Entry point to access the JaCoCo agent runtime.
Rule: A rule applies for a certain element type and can define any number of limits for all elements of this type.
RulesChecker: Formatter which checks a set of given rules and reports violations to a `IViolationsOutput` instance.
RuntimeData: Container for runtime execution and meta data.
SessionInfo: Data object describing a session which was the source of execution data.
SessionInfoStore: Container to collect and merge session `SessionInfo` objects.
SessionsPage: Page to display information about sessions covered by this report.
SignatureRemover: Support class to filter entries from JARs related to signatures.
SourceFileCoverageImpl: Implementation of `ISourceFileCoverage`.
SourceFilePage: Page showing the content of a source file with numbered and highlighted source lines.
SourceNodeImpl: Implementation of `ISourceNode`.
StringPool: Utility to normalize `String` instances in a way that if `equals()` is `true` for two strings they will be represented the same instance.
StringSwitchEcjFilter: Filters code that is generated by ECJ for a `switch` statement with a `String`.
StringSwitchJavacFilter: Filters code that is generated by javac for a switch statement with a String.
Styles: Constants for styles defined by the report style sheet.
SynchronizedFilter: Filters code that is generated for synchronized statement.
SyntheticFilter: Filters synthetic methods unless they represent bodies of lambda expressions.
SystemPropertiesRuntime: This `IRuntime` implementation makes the execution data available through a special entry in the `System.getProperties()` hash table.
Table: Renderer for a table of `ITableItem`s.
TablePage<NodeType extends ICoverageNode>: Report page that contains a table of items linked to other pages.
TcpClientOutput: Output that connects to a TCP port.
TcpServerOutput: Output that opens TCP server socket.
TryWithResourcesEcjFilter: Filters code that ECJ generates for try-with-resources statement.
TryWithResourcesJavac11Filter: Filters code which is generated for try-with-resources statement by javac starting from version 11.
TryWithResourcesJavacFilter: Filters code which is generated for try-with-resources statement by javac versions from 7 to 10.
URLStreamHandlerRuntime: This `IRuntime` implementation registers a special `URLStreamHandler` to process coverage data.
WildcardMatcher: Matches strings against glob like wildcard expressions where `?` matches any single character and `*` matches any number of any character.
XMLCoverageWriter: Serializes coverage data as XML fragments.
XMLElement: Simple API to create well formed XML streams with minimal memory overhead.
XMLFormatter: Report formatter that creates a single XML file for a coverage session
XMLGroupVisitor: A `IReportGroupVisitor` that transforms the report structure into XML elements.
ZipMultiReportOutput: Implementation of `IMultiReportOutput` that writes files into a `ZipOutputStream`.