Class CdfStarTable
- All Implemented Interfaces:
Closeable
,AutoCloseable
,uk.ac.starlink.table.StarTable
- Since:
- 24 Jun 2013
- Author:
- Mark Taylor
-
Constructor Summary
ConstructorsConstructorDescriptionCdfStarTable
(uk.ac.bristol.star.cdf.CdfContent content, CdfTableProfile profile, uk.ac.bristol.star.cdf.Variable dependVar) Constructor. -
Method Summary
Modifier and TypeMethodDescriptiongetCell
(long irow, int icol) int
uk.ac.starlink.table.ColumnInfo
getColumnInfo
(int icol) uk.ac.starlink.table.RowAccess
long
uk.ac.starlink.table.RowSequence
static String
getStringEntry
(uk.ac.bristol.star.cdf.VariableAttribute att, uk.ac.bristol.star.cdf.Variable var) Gets a variable's attribute value expected to be of string type.boolean
isRandom()
Methods inherited from class uk.ac.starlink.table.AbstractStarTable
checkedLongToInt, close, getColumnAuxDataInfos, getName, getParameters, getRow, getRowSplittable, getURL, setName, setParameters, setURL
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface uk.ac.starlink.table.StarTable
getParameterByName, setParameter
-
Constructor Details
-
CdfStarTable
public CdfStarTable(uk.ac.bristol.star.cdf.CdfContent content, CdfTableProfile profile, uk.ac.bristol.star.cdf.Variable dependVar) throws IOException Constructor.The optional
dependVar
parameter provides an effective grouping of columns, and corresponds to the DEPEND_0 variable attribute defined by the ISTP Metadata Guidelines. CDF files contain multiple variables that are not necessarily all columns of the same table; at least within the ISTP guidelines a table is effectively defined by an independent epoch variable and a number of other variables depending on that (and thus presumably having the same number of values/rows). This interpretation is not exactly explicit in ISTP, but it looks like our best bet for turning CDF content into a thing or things that look like StarTables. IfdependVar
is null, we just have to assume that all the variables are effectively columns in the same table. In case that they don't all have the same multiplicity, just guess something and issue a warning.- Parameters:
content
- CDF data content objectprofile
- parameterisation of how CDFs should get turned into StarTablesdependVar
- independent variable on which other columns depend, or null- Throws:
IOException
- in case of error
-
-
Method Details
-
getColumnCount
public int getColumnCount()- Specified by:
getColumnCount
in interfaceuk.ac.starlink.table.StarTable
- Specified by:
getColumnCount
in classuk.ac.starlink.table.AbstractStarTable
-
getRowCount
public long getRowCount()- Specified by:
getRowCount
in interfaceuk.ac.starlink.table.StarTable
- Specified by:
getRowCount
in classuk.ac.starlink.table.AbstractStarTable
-
getColumnInfo
public uk.ac.starlink.table.ColumnInfo getColumnInfo(int icol) - Specified by:
getColumnInfo
in interfaceuk.ac.starlink.table.StarTable
- Specified by:
getColumnInfo
in classuk.ac.starlink.table.AbstractStarTable
-
isRandom
public boolean isRandom()- Specified by:
isRandom
in interfaceuk.ac.starlink.table.StarTable
- Overrides:
isRandom
in classuk.ac.starlink.table.AbstractStarTable
-
getCell
- Specified by:
getCell
in interfaceuk.ac.starlink.table.StarTable
- Overrides:
getCell
in classuk.ac.starlink.table.AbstractStarTable
- Throws:
IOException
-
getRowSequence
- Specified by:
getRowSequence
in interfaceuk.ac.starlink.table.StarTable
- Specified by:
getRowSequence
in classuk.ac.starlink.table.AbstractStarTable
- Throws:
IOException
-
getRowAccess
- Specified by:
getRowAccess
in interfaceuk.ac.starlink.table.StarTable
- Overrides:
getRowAccess
in classuk.ac.starlink.table.AbstractStarTable
- Throws:
IOException
-
getStringEntry
public static String getStringEntry(uk.ac.bristol.star.cdf.VariableAttribute att, uk.ac.bristol.star.cdf.Variable var) Gets a variable's attribute value expected to be of string type.- Parameters:
att
- attributevar
- variable- Returns:
- string value of att for var, or null if it doesn't exist or has the wrong type
-