com.vladium.emma.data
Class CoverageData

java.lang.Object
  extended by com.vladium.emma.data.CoverageData
All Implemented Interfaces:
ICoverageData, IMergeable, java.io.Serializable, java.lang.Cloneable

final class CoverageData
extends java.lang.Object
implements ICoverageData, java.lang.Cloneable

Author:
Vlad Roubtsov, (C) 2003

Nested Class Summary
 
Nested classes/interfaces inherited from interface com.vladium.emma.data.ICoverageData
ICoverageData.DataHolder
 
Field Summary
private  java.util.HashMap m_coverageMap
           
 
Constructor Summary
(package private) CoverageData()
           
private CoverageData(java.util.HashMap coverageMap)
           
 
Method Summary
 void addClass(boolean[][] coverage, java.lang.String classVMName, long stamp)
           
 ICoverageData.DataHolder getCoverage(ClassDescriptor cls)
          can return null can return data holder with a different version stamp than cls.getStamp()
 boolean isEmpty()
           
 java.lang.Object lock()
           
 IMergeable merge(IMergeable rhs)
          Caller must always switch to the returned handle.
(package private) static CoverageData readExternal(java.io.DataInput in)
           
 ICoverageData shallowCopy()
           
 int size()
           
(package private) static void writeExternal(CoverageData cdata, java.io.DataOutput out)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

m_coverageMap

private java.util.HashMap m_coverageMap
Constructor Detail

CoverageData

CoverageData()

CoverageData

private CoverageData(java.util.HashMap coverageMap)
Method Detail

lock

public java.lang.Object lock()
Specified by:
lock in interface ICoverageData

shallowCopy

public ICoverageData shallowCopy()
Specified by:
shallowCopy in interface ICoverageData

size

public int size()
Specified by:
size in interface ICoverageData

getCoverage

public ICoverageData.DataHolder getCoverage(ClassDescriptor cls)
Description copied from interface: ICoverageData
can return null can return data holder with a different version stamp than cls.getStamp()

Specified by:
getCoverage in interface ICoverageData

addClass

public void addClass(boolean[][] coverage,
                     java.lang.String classVMName,
                     long stamp)
Specified by:
addClass in interface ICoverageData

isEmpty

public boolean isEmpty()
Specified by:
isEmpty in interface IMergeable

merge

public IMergeable merge(IMergeable rhs)
Description copied from interface: IMergeable
Caller must always switch to the returned handle.

Specified by:
merge in interface IMergeable

readExternal

static CoverageData readExternal(java.io.DataInput in)
                          throws java.io.IOException
Throws:
java.io.IOException

writeExternal

static void writeExternal(CoverageData cdata,
                          java.io.DataOutput out)
                   throws java.io.IOException
Throws:
java.io.IOException