Package org.eclipse.mat.inspections

# Class ReferenceQuery

java.lang.Object
org.eclipse.mat.inspections.ReferenceQuery

All Implemented Interfaces:
  `IQuery`

public class ReferenceQuery extends Object implements IQuery
Extract information about objects extending java.lang.ref.Reference, e.g. weak and soft references, and Finalizer.

## Field Summary

Fields
Modifier and Type
Field
Description
`IHeapObjectArgument`
`objects`
`String`
`referent_attribute`
`ISnapshot`
`snapshot`

## Constructor Summary

Constructors
Constructor
Description
`ReferenceQuery()`

## Method Summary

Modifier and Type
Method
Description
`static IResult`
`execute(String className, ISnapshot snapshot, String labelHistogramReferenced, String labelHistogramRetained, String labelHistogramStronglyRetainedReferents, IProgressListener listener)`
Important: the className must point to java.lang.ref.Reference or one of its subclasses.
`static CompositeResult`
`execute(ArrayInt instanceSet, SetInt referentSet, ISnapshot snapshot, String labelHistogramReferenced, String labelHistogramRetained, String labelHistogramStronglyRetainedReferents, String referentField, IProgressListener listener)`
`static CompositeResult`
`execute(ArrayInt instanceSet, SetInt referentSet, ISnapshot snapshot, String labelHistogramReferenced, String labelHistogramRetained, String labelHistogramStronglyRetainedReferents, IProgressListener listener)`
`IResult`
`execute(IProgressListener listener)`
The execute method is called after all arguments have been injected into the query instance.
`static ObjectReference`
`getReferent(IInstance instance)`

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

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

## Field Details

### snapshot

public ISnapshot snapshot

### objects

public IHeapObjectArgument objects

### referent_attribute

public String referent_attribute

## Constructor Details

### ReferenceQuery

public ReferenceQuery()

## Method Details

### execute

public IResult execute(IProgressListener listener) throws Exception
Description copied from interface: `IQuery`
The execute method is called after all arguments have been injected into the query instance. Typical results are `TextResult`, `CompositeResult`, `SectionSpec` etc.

Specified by:
  `execute` in interface `IQuery`
Parameters:
  `listener` - Monitor to report progress and check for cancellation.
Returns:
  The result of the query.
Throws:
  `Exception` - if something went wrong running the query

### execute

public static IResult execute(String className, ISnapshot snapshot, String labelHistogramReferenced, String labelHistogramRetained, String labelHistogramStronglyRetainedReferents, IProgressListener listener) throws SnapshotException
Important: the className must point to java.lang.ref.Reference or one of its subclasses. It is not possible to check this, as some heap dumps lack class hierarchy information.

Throws:
  `SnapshotException`

### execute

public static CompositeResult execute(ArrayInt instanceSet, SetInt referentSet, ISnapshot snapshot, String labelHistogramReferenced, String labelHistogramRetained, String labelHistogramStronglyRetainedReferents, IProgressListener listener) throws SnapshotException

Throws:
  `SnapshotException`

### execute

public static CompositeResult execute(ArrayInt instanceSet, SetInt referentSet, ISnapshot snapshot, String labelHistogramReferenced, String labelHistogramRetained, String labelHistogramStronglyRetainedReferents, String referentField, IProgressListener listener) throws SnapshotException

Throws:
  `SnapshotException`

### getReferent

public static ObjectReference getReferent(IInstance instance) throws SnapshotException

Throws:
  `SnapshotException`