Package org.eclipse.mat.snapshot.model

# Interface IClassLoader

All Superinterfaces:
  `IInstance`, `IObject`, `Serializable`

All Known Implementing Classes:
  `ClassLoaderImpl`

public interface IClassLoader extends IInstance
An interface for class loader.

No Implement:

## Nested Class Summary

## Nested classes/interfaces inherited from interface org.eclipse.mat.snapshot.model.IObject

`IObject.Type`

## Method Summary

Modifier and Type
Method
Description
`List<IClass>`
`getDefinedClasses()`
Returns the classes defined by this class loader instance.
`long`
`getRetainedHeapSizeOfObjects(boolean calculateIfNotAvailable, boolean calculateMinRetainedSize, IProgressListener listener)`
Returns the retained size of all objects and classes loaded by this class loader.

### Methods inherited from interface org.eclipse.mat.snapshot.model.IInstance

`getField, getFields`

### Methods inherited from interface org.eclipse.mat.snapshot.model.IObject

`getClassSpecificName, getClazz, getDisplayName, getGCRootInfo, getObjectAddress, getObjectId, getOutboundReferences, getRetainedHeapSize, getSnapshot, getTechnicalName, getUsedHeapSize, resolveValue`

## Method Details

### getRetainedHeapSizeOfObjects

long getRetainedHeapSizeOfObjects(boolean calculateIfNotAvailable, boolean calculateMinRetainedSize, IProgressListener listener) throws SnapshotException
Returns the retained size of all objects and classes loaded by this class loader.

Parameters:
  `calculateIfNotAvailable` - if false only return a cached version of the size
  `calculateMinRetainedSize` - if true then when calculating use an approximation
  `listener` - to indicate progress and errors
Returns:
  the retained size, negative if approximate
Throws:
  `SnapshotException`

### getDefinedClasses

List<IClass> getDefinedClasses() throws SnapshotException
Returns the classes defined by this class loader instance.

Returns:
  a list of classes defined by this class loader
Throws:
  `SnapshotException` - if there is a problem retrieving the information