org.jacoco.core.data
Class ExecutionDataStore

java.lang.Object
  extended by org.jacoco.core.data.ExecutionDataStore
All Implemented Interfaces:
IExecutionDataVisitor

public final class ExecutionDataStore
extends Object
implements IExecutionDataVisitor

In-memory data store for execution data. The data can be added through its IExecutionDataVisitor interface. If execution data is provided multiple times for the same class the data is merged, i.e. a probe is marked as executed if it is reported as executed at least once. This allows to merge coverage date from multiple runs. A instance of this class is not thread safe.


Constructor Summary
ExecutionDataStore()
           
 
Method Summary
 void accept(IExecutionDataVisitor visitor)
          Writes the content of the store to the given visitor interface.
 boolean contains(String name)
          Checks whether execution data for classes with the given name are contained in the store.
 ExecutionData get(long id)
          Returns the ExecutionData entry with the given id if it exists in this store.
 ExecutionData get(Long id, String name, int probecount)
          Returns the coverage data for the class with the given identifier.
 Collection<ExecutionData> getContents()
          Returns a collection that represents current contents of the store.
 void put(ExecutionData data)
          Adds the given ExecutionData object into the store.
 void reset()
          Resets all execution data probes, i.e.
 void subtract(ExecutionData data)
          Subtracts the probes in the given ExecutionData object from the store.
 void subtract(ExecutionDataStore store)
          Subtracts all probes in the given execution data store from this store.
 void visitClassExecution(ExecutionData data)
          Provides execution data for a class.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ExecutionDataStore

public ExecutionDataStore()
Method Detail

put

public void put(ExecutionData data)
         throws IllegalStateException
Adds the given ExecutionData object into the store. If there is already execution data with this same class id, this structure is merged with the given one.

Parameters:
data - execution data to add or merge
Throws:
IllegalStateException - if the given ExecutionData object is not compatible to a corresponding one, that is already contained
See Also:
ExecutionData.assertCompatibility(long, String, int)

subtract

public void subtract(ExecutionData data)
              throws IllegalStateException
Subtracts the probes in the given ExecutionData object from the store. I.e. for all set probes in the given data object the corresponding probes in this store will be unset. If there is no execution data with id of the given data object this operation will have no effect.

Parameters:
data - execution data to subtract
Throws:
IllegalStateException - if the given ExecutionData object is not compatible to a corresponding one, that is already contained
See Also:
ExecutionData.assertCompatibility(long, String, int)

subtract

public void subtract(ExecutionDataStore store)
Subtracts all probes in the given execution data store from this store.

Parameters:
store - execution data store to subtract
See Also:
subtract(ExecutionData)

get

public ExecutionData get(long id)
Returns the ExecutionData entry with the given id if it exists in this store.

Parameters:
id - class id
Returns:
execution data or null

contains

public boolean contains(String name)
Checks whether execution data for classes with the given name are contained in the store.

Parameters:
name - VM name
Returns:
true if at least one class with the name is contained.

get

public ExecutionData get(Long id,
                         String name,
                         int probecount)
Returns the coverage data for the class with the given identifier. If there is no data available under the given id a new entry is created.

Parameters:
id - class identifier
name - VM name of the class
probecount - probe data length
Returns:
execution data

reset

public void reset()
Resets all execution data probes, i.e. marks them as not executed. The execution data objects itself are not removed.


getContents

public Collection<ExecutionData> getContents()
Returns a collection that represents current contents of the store.

Returns:
current contents

accept

public void accept(IExecutionDataVisitor visitor)
Writes the content of the store to the given visitor interface.

Parameters:
visitor - interface to write content to

visitClassExecution

public void visitClassExecution(ExecutionData data)
Description copied from interface: IExecutionDataVisitor
Provides execution data for a class.

Specified by:
visitClassExecution in interface IExecutionDataVisitor
Parameters:
data - execution data for a class


Copyright © 2009–2022 Mountainminds GmbH & Co. KG. All rights reserved.