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
`IHeapObjectArgument` `objects`
`String` `referent_attribute`
`ISnapshot` `snapshot`

### Constructor Summary

Constructors
Constructor and Description
`ReferenceQuery()`

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`static CompositeResult` `execute(ArrayInt instanceSet, SetInt referentSet, ISnapshot snapshot, String labelHistogramReferenced, String labelHistogramRetained, String labelHistogramStronglyRetainedReferents, IProgressListener listener)`
`static CompositeResult` `execute(ArrayInt instanceSet, SetInt referentSet, ISnapshot snapshot, String labelHistogramReferenced, String labelHistogramRetained, String labelHistogramStronglyRetainedReferents, String referentField, IProgressListener listener)`
`IResult` `execute(IProgressListener listener)` The execute method is called after all arguments have been injected into the query instance.
`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 ObjectReference` `getReferent(IInstance instance)`

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

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

### Field Detail

#### snapshot

    public ISnapshot snapshot

#### objects

    public IHeapObjectArgument objects

#### referent_attribute

    public String referent_attribute

### Constructor Detail

#### ReferenceQuery

    public ReferenceQuery()

### Method Detail

#### 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`

#### 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`