Package org.eclipse.mat.snapshot

# Class ClassLoaderHistogramRecord

java.lang.Object
org.eclipse.mat.snapshot.HistogramRecord
org.eclipse.mat.snapshot.ClassLoaderHistogramRecord

All Implemented Interfaces:
  `Serializable`

Direct Known Subclasses:
  `XClassLoaderHistogramRecord`

public class ClassLoaderHistogramRecord extends HistogramRecord
This class holds the histogram data on the objects found in the object set for which a histogram was computed (aggregated per class loader).

See Also:
  - Serialized Form

## Field Summary

### Fields inherited from class org.eclipse.mat.snapshot.HistogramRecord

`COMPARATOR_FOR_LABEL, COMPARATOR_FOR_NUMBEROFOBJECTS, COMPARATOR_FOR_RETAINEDHEAPSIZE, COMPARATOR_FOR_USEDHEAPSIZE`

## Constructor Summary

Constructors
Constructor
Description
`ClassLoaderHistogramRecord(String label, int classLoaderId, ArrayList<ClassHistogramRecord> classHistogramRecords, long numberOfObjects, long usedHeapSize, long retainedHeapSize)`
Details of a class loader

## Method Summary

Modifier and Type
Method
Description
`long`
`calculateRetainedSize(ISnapshot snapshot, boolean calculateIfNotAvailable, boolean approximation, IProgressListener listener)`
Find out the retained size
`Collection<ClassHistogramRecord>`
`getClassHistogramRecords()`
Get collection of the class histogram records this class loader histogram record stands for.
`int`
`getClassLoaderId()`
Get id of the class loader this class loader histogram record stands for.
`int[]`
`getObjectIds()`
Get ids of the objects this class loader histogram record stands for.
`String`
`toString()`

### Methods inherited from class org.eclipse.mat.snapshot.HistogramRecord

`getLabel, getNumberOfObjects, getRetainedHeapSize, getUsedHeapSize, incNumberOfObjects, incNumberOfObjects, incRetainedHeapSize, incUsedHeapSize, reverseComparator, setLabel, setNumberOfObjects, setRetainedHeapSize, setUsedHeapSize`

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Constructor Details

### ClassLoaderHistogramRecord

public ClassLoaderHistogramRecord(String label, int classLoaderId, ArrayList<ClassHistogramRecord> classHistogramRecords, long numberOfObjects, long usedHeapSize, long retainedHeapSize)
Details of a class loader

Parameters:
  `label` - the name of the loader
  `classLoaderId` - the id of the class loader object
  `classHistogramRecords` - the histogram details of all the classes loaded by this loader
  `numberOfObjects` -
  `usedHeapSize` -
  `retainedHeapSize` -

## Method Details

### getClassLoaderId

public int getClassLoaderId()
Get id of the class loader this class loader histogram record stands for.

Returns:
  id of the class loader this class loader histogram record stands for

### getClassHistogramRecords

public Collection<ClassHistogramRecord> getClassHistogramRecords()
Get collection of the class histogram records this class loader histogram record stands for.

Returns:
  collection of the class histogram records this class loader histogram record stands for

### getObjectIds

public int[] getObjectIds() throws SnapshotException
Get ids of the objects this class loader histogram record stands for.

Returns:
  ids of the objects this class loader histogram record stands for
Throws:
  `SnapshotException`

### calculateRetainedSize

public long calculateRetainedSize(ISnapshot snapshot, boolean calculateIfNotAvailable, boolean approximation, IProgressListener listener) throws SnapshotException
Find out the retained size

Parameters:
  `snapshot` - the snapshot
  `calculateIfNotAvailable` - whether to calculate the size if not already available
  `approximation` - whether to use an approximation to the retained size (sum of the individual retained sizes)
  `listener` - to report progress and errors
Returns:
  the retained size, negated if approximate, and 0 if unavailable
Throws:
  `SnapshotException`

### toString

public String toString()

Overrides:
  `toString` in class `Object`