Class BeanStarTable
java.lang.Object
uk.ac.starlink.table.AbstractStarTable
uk.ac.starlink.table.RandomStarTable
uk.ac.starlink.table.BeanStarTable
- All Implemented Interfaces:
Closeable, AutoCloseable, StarTable
StarTable which displays beans.
The table is constructed to display beans of a particular class,
and each of its rows displays one instance of this class.
It has a column for each readable property.
As usual, a bean is anything which has likely-looking getter methods,
though since this class uses the
java.beans package
any cleverer stuff held in BeanInfos will get used as well/instead.- Since:
- 23 Dec 2004
- Author:
- Mark Taylor (Starlink)
-
Constructor Summary
ConstructorsConstructorDescriptionBeanStarTable(Class<?> clazz) Constructs a new table which will hold beans which are all instances of a given class. -
Method Summary
Modifier and TypeMethodDescriptiongetCell(long irow, int icol) Implementations of this method must be safe for concurrent calls from multiple threads.intReturns the number of columns in this table.getColumnInfo(int icol) Returns the object describing the data in a given column.String[]Returns an array of the property names which correspond to the columns of this table.Object[]getData()Returns the array of objects which this model displays, one per row.longImplementations must supply a non-negative return value.voidsetColumnInfo(String name, ValueInfo info) Resets the metadata for a column representing a property with a given name.voidsetColumnProperties(String[] propNames) Fixes the columns which are to be used for this table.voidPopulates this model with items.Methods inherited from class RandomStarTable
getRowAccess, getRowSequence, isRandomMethods inherited from class AbstractStarTable
checkedLongToInt, close, getColumnAuxDataInfos, getName, getParameters, getRow, getRowSplittable, getURL, setName, setParameters, setURLMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface StarTable
getParameterByName, setParameter
-
Constructor Details
-
BeanStarTable
Constructs a new table which will hold beans which are all instances of a given class.- Parameters:
clazz- class of which all beans held by this table are members- Throws:
IntrospectionException
-
-
Method Details
-
setData
Populates this model with items.- Parameters:
data- array of items, one for each row. This array's runtime type must match that for which this model was constructed (on pain of ClassCastException)
-
getData
Returns the array of objects which this model displays, one per row. The runtime type of the returned array matches that of the bean class this model displays.- Returns:
- table data
-
getRowCount
public long getRowCount()Description copied from class:RandomStarTableImplementations must supply a non-negative return value.- Specified by:
getRowCountin interfaceStarTable- Specified by:
getRowCountin classRandomStarTable- Returns:
- the number of rows in the table
-
getColumnCount
public int getColumnCount()Description copied from interface:StarTableReturns the number of columns in this table.- Specified by:
getColumnCountin interfaceStarTable- Specified by:
getColumnCountin classAbstractStarTable- Returns:
- the number of columns
-
getColumnInfo
Description copied from interface:StarTableReturns the object describing the data in a given column.- Specified by:
getColumnInfoin interfaceStarTable- Specified by:
getColumnInfoin classAbstractStarTable- Parameters:
icol- the column for which header information is required- Returns:
- a ValueInfo object for column
icol
-
setColumnInfo
-
getColumnProperties
Returns an array of the property names which correspond to the columns of this table.- Returns:
- array of strings giving programmatic names of bean properties, one for each table column
-
setColumnProperties
Fixes the columns which are to be used for this table.propNamesis an array of the programmatic names of each of the properties of this bean which is used to get a column value.- Parameters:
propNames- array of programmatic names of properties to be used as columns
-
getCell
Description copied from class:RandomStarTableImplementations of this method must be safe for concurrent calls from multiple threads.- Specified by:
getCellin interfaceStarTable- Specified by:
getCellin classRandomStarTable- Parameters:
irow- the index of the cell's rowicol- the index of the cell's column- Returns:
- the contents of this cell
- Throws:
IOException- if there is an error reading the data
-