Package org.eclipse.mat.snapshot.query
Interface IHeapObjectArgument
- All Superinterfaces:
Iterable<int[]>
An argument of type IHeapObjectArgument can be used to inject heap objects
into Query.
@Argument public IHeapObjectArgument objects; public IResult execute(IProgressListener listener) throws Exception { for (int[] objectIds : objects) { for (int objectId : objectIds) { // do something } } }
There are two advantages over using primitive Integer arrays: First, the object set is chunked (if accessed through the iterator) and second, there is no need to annotate the variable with isHeapObject = true.
@Argument(isHeapObject = true) public int[] objects;
- No Implement:
-
Method Summary
Modifier and TypeMethodDescriptionint[]
getIds
(IProgressListener listener) This method returns one (possibly big) integer array with the selected object ids.getLabel()
A user-friendly label for the object set.Methods inherited from interface java.lang.Iterable
forEach, iterator, spliterator
-
Method Details
-
getIds
This method returns one (possibly big) integer array with the selected object ids. This method can be much slower than the approach described in the class documentation.- Parameters:
listener
- progress listener- Returns:
- an integer array with the selected object ids
- Throws:
SnapshotException
-
getLabel
String getLabel()A user-friendly label for the object set.
-