public class ListResult extends Object implements IResultTable, IIconProvider
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.| Modifier and Type | Class and Description |
|---|---|
static interface |
ListResult.ValueProvider
Converts a row to the needed value from the row
|
EMPTY| Constructor and Description |
|---|
ListResult(Class<? extends L> type,
List<L> subjects,
String... properties)
Construct a displayable list from a List.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addColumn(Column column,
ListResult.ValueProvider valueProvider) |
Column[] |
getColumns()
The columns of the tree or table.
|
Object |
getColumnValue(Object row,
int columnIndex)
Returns the (unformatted) value of a table/tree cell.
|
IContextObject |
getContext(Object row)
The default context of the row which is used to display information in
the object inspector.
|
URL |
getIcon(Object row) |
ResultMetaData |
getResultMetaData()
(Optionally) Return meta data of the result needed to fine-tune the
display of the result.
|
Object |
getRow(int rowId)
Returns the object of the row with the given row number.
|
int |
getRowCount()
Returns the number of rows in the result table.
|
public ListResult(Class<? extends L> type, List<L> subjects, String... properties)
L - type name of items in the listtype - class of items in the listsubjects - the listproperties - the field names (or Java Bean properties) to be extracted from
the list entriespublic void addColumn(Column column, ListResult.ValueProvider valueProvider)
public ResultMetaData getResultMetaData()
IResultgetResultMetaData in interface IResultpublic final Column[] getColumns()
IStructuredResultgetColumns in interface IStructuredResultpublic final int getRowCount()
IResultTablegetRowCount in interface IResultTablepublic final Object getRow(int rowId)
IResultTablegetRow in interface IResultTablerowId - The row number.IStructuredResult.getContext(Object) or
IStructuredResult.getColumnValue(Object, int).public final Object getColumnValue(Object row, int columnIndex)
IStructuredResultgetColumnValue in interface IStructuredResultrow - The row object as returned by the
IResultTable.getRow(int) or
IResultTree.getElements() or
IResultTree.getChildren(Object) methodscolumnIndex - The index of the column.public URL getIcon(Object row)
getIcon in interface IIconProviderpublic IContextObject getContext(Object row)
IStructuredResultResultMetaData, it is also used for the context menu on a row.getContext in interface IStructuredResultrow - The row object as returned by the
IResultTable.getRow(int) or
IResultTree.getElements() or
IResultTree.getChildren(Object) methods.