Package org.eclipse.mat.query.results
Class ListResult
java.lang.Object
org.eclipse.mat.query.results.ListResult
- All Implemented Interfaces:
IIconProvider
,IResult
,IResultTable
,IStructuredResult
A list of items such as properties as a result table. Compare to
PropertyResult
which extracts and displays from a single object.
Example:
int[] objectIds = myClass.getObjectIds();
List<NameValuePair> pairs = new ArrayList<NameValuePair>();
// loop over all instances and take the value of the field name and the field value
for (int id : objectIds)
{
IObject myObject = snapshot.getObject(id);
String name = ((IObject) myObject.resolveValue("name")).getClassSpecificName();
String value = ((IObject) myObject.resolveValue("value")).getClassSpecificName();
pairs.add(new NameValuePair(name, value));
}
// the NameValuePair is a bean with two properties - name and value
// the returned result will be a table with two columns - one for each of these properties
return new ListResult(NameValuePair.class, pairs, "name", "value")
The column names are derived from the property names.
If the names are required to be internationalized then a BeanInfo can be provided for the
type which provides a display name for the property descriptor.-
Nested Class Summary
Modifier and TypeClassDescriptionstatic interface
Converts a row to the needed value from the row -
Field Summary
Fields inherited from interface org.eclipse.mat.query.IIconProvider
EMPTY
-
Constructor Summary
ConstructorDescriptionListResult
(Class<? extends L> type, List<L> subjects, String... properties) Construct a displayable list from a List. -
Method Summary
Modifier and TypeMethodDescriptionvoid
addColumn
(Column column, ListResult.ValueProvider valueProvider) final Column[]
The columns of the tree or table.final Object
getColumnValue
(Object row, int columnIndex) Returns the (unformatted) value of a table/tree cell.getContext
(Object row) The default context of the row which is used to display information in the object inspector.(Optionally) Return meta data of the result needed to fine-tune the display of the result.final Object
getRow
(int rowId) Returns the object of the row with the given row number.final int
Returns the number of rows in the result table.
-
Constructor Details
-
ListResult
Construct a displayable list from a List.- Type Parameters:
L
- type name of items in the list- Parameters:
type
- class of items in the listsubjects
- the listproperties
- the field names (or Java Bean properties) to be extracted from the list entries
-
-
Method Details
-
addColumn
-
getResultMetaData
Description copied from interface:IResult
(Optionally) Return meta data of the result needed to fine-tune the display of the result. This could include an additional context, an additional query to run on selected data from the result , additional calculated columns, or an indication that the results are already presorted.- Specified by:
getResultMetaData
in interfaceIResult
- Returns:
- the metadata for the result, used to obtain extra data
-
getColumns
Description copied from interface:IStructuredResult
The columns of the tree or table.- Specified by:
getColumns
in interfaceIStructuredResult
- Returns:
- an array of all the columns
-
getRowCount
public final int getRowCount()Description copied from interface:IResultTable
Returns the number of rows in the result table.- Specified by:
getRowCount
in interfaceIResultTable
- Returns:
- the number of rows
-
getRow
Description copied from interface:IResultTable
Returns the object of the row with the given row number.- Specified by:
getRow
in interfaceIResultTable
- Parameters:
rowId
- The row number.- Returns:
- an opaque row object representing this row
which can be passed to
IStructuredResult.getContext(Object)
orIStructuredResult.getColumnValue(Object, int)
.
-
getColumnValue
Description copied from interface:IStructuredResult
Returns the (unformatted) value of a table/tree cell.- Specified by:
getColumnValue
in interfaceIStructuredResult
- Parameters:
row
- The row object as returned by theIResultTable.getRow(int)
orIResultTree.getElements()
orIResultTree.getChildren(Object)
methodscolumnIndex
- The index of the column.- Returns:
- the cell value
-
getIcon
- Specified by:
getIcon
in interfaceIIconProvider
-
getContext
Description copied from interface:IStructuredResult
The default context of the row which is used to display information in the object inspector. Unless no context provider is given via theResultMetaData
, it is also used for the context menu on a row.- Specified by:
getContext
in interfaceIStructuredResult
- Parameters:
row
- The row object as returned by theIResultTable.getRow(int)
orIResultTree.getElements()
orIResultTree.getChildren(Object)
methods.- Returns:
- a context object holding details about that row
-