Package org.eclipse.mat.parser.model

## Class XClassLoaderHistogramRecord

- java.lang.Object
- - org.eclipse.mat.snapshot.HistogramRecord
  - - org.eclipse.mat.snapshot.ClassLoaderHistogramRecord
    - - org.eclipse.mat.parser.model.XClassLoaderHistogramRecord

All Implemented Interfaces:
  `java.io.Serializable`

    public final class XClassLoaderHistogramRecord
    extends ClassLoaderHistogramRecord

Accumulated data about a class loader, including classes and shallow and retained sizes.

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
`XClassLoaderHistogramRecord​(java.lang.String label, int classLoaderId, java.util.ArrayList<ClassHistogramRecord> classHistogramRecords, long numberOfObjects, long usedHeapSize, long retainedHeapSize)` Create record for the class loader based on the records for the classes

### Method Summary

All Methods Instance Methods Concrete Methods
`long` `calculateRetainedSize​(ISnapshot snapshot, boolean calculateIfNotAvailable, boolean approximation, IProgressListener listener)` Find out the retained size

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

`getClassHistogramRecords, getClassLoaderId, getObjectIds, 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 Detail

#### XClassLoaderHistogramRecord

    public XClassLoaderHistogramRecord​(java.lang.String label,
                                       int classLoaderId,
                                       java.util.ArrayList<ClassHistogramRecord> classHistogramRecords,
                                       long numberOfObjects,
                                       long usedHeapSize,
                                       long retainedHeapSize)

Create record for the class loader based on the records for the classes

Parameters:
  `label` - for display
  `classLoaderId` - the object id of the class loader
  `classHistogramRecords` - summary of all the classes loaded by the class loader
  `numberOfObjects` - the total number of objects
  `usedHeapSize` - the total shallow size of the loader, classes and objects
  `retainedHeapSize` - the total retained size of the loader, classes and objects

### Method Detail

#### calculateRetainedSize

    public long calculateRetainedSize​(ISnapshot snapshot,
                                      boolean calculateIfNotAvailable,
                                      boolean approximation,
                                      IProgressListener listener)
                               throws SnapshotException

Description copied from class: `ClassLoaderHistogramRecord`
Find out the retained size

Overrides:
  `calculateRetainedSize` in class `ClassLoaderHistogramRecord`
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`