public final class ExecutionDataStore extends Object implements IExecutionDataVisitor
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 and Description |
---|
ExecutionDataStore() |
Modifier and Type | Method and Description |
---|---|
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.
|
public void put(ExecutionData data) throws IllegalStateException
ExecutionData
object into the store. If there is
already execution data with this same class id, this structure is merged
with the given one.data
- execution data to add or mergeIllegalStateException
- if the given ExecutionData
object is not compatible
to a corresponding one, that is already containedExecutionData.assertCompatibility(long, String, int)
public void subtract(ExecutionData data) throws IllegalStateException
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.data
- execution data to subtractIllegalStateException
- if the given ExecutionData
object is not compatible
to a corresponding one, that is already containedExecutionData.assertCompatibility(long, String, int)
public void subtract(ExecutionDataStore store)
store
- execution data store to subtractsubtract(ExecutionData)
public ExecutionData get(long id)
ExecutionData
entry with the given id if it exists in
this store.id
- class idnull
public boolean contains(String name)
name
- VM nametrue
if at least one class with the name is
contained.public ExecutionData get(Long id, String name, int probecount)
id
- class identifiername
- VM name of the classprobecount
- probe data lengthpublic void reset()
public Collection<ExecutionData> getContents()
public void accept(IExecutionDataVisitor visitor)
visitor
- interface to write content topublic void visitClassExecution(ExecutionData data)
IExecutionDataVisitor
visitClassExecution
in interface IExecutionDataVisitor
data
- execution data for a classCopyright © 2015. All rights reserved.