Package uk.ac.starlink.table
Class MetaCopyStarTable
- java.lang.Object
-
- uk.ac.starlink.table.WrapperStarTable
-
- uk.ac.starlink.table.MetaCopyStarTable
-
- All Implemented Interfaces:
java.io.Closeable
,java.lang.AutoCloseable
,StarTable
public class MetaCopyStarTable extends WrapperStarTable
Wrapper table which makes deep copies of the table metadata, including column metadata and table parameters. Changes can safely be made to the metadata of this table without affecting the base table. Note that the metadata will not track changes in the column count of the base table.- Since:
- 23 Jul 2010
- Author:
- Mark Taylor
-
-
Field Summary
-
Fields inherited from class uk.ac.starlink.table.WrapperStarTable
baseTable
-
-
Constructor Summary
Constructors Constructor Description MetaCopyStarTable(StarTable base)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ColumnInfo
getColumnInfo(int icol)
Returns the object describing the data in a given column.java.lang.String
getName()
Returns the name of this table, if it has one.DescribedValue
getParameterByName(java.lang.String name)
Returns a parameter (table-wide metadata item) of this table located by its name.java.util.List<DescribedValue>
getParameters()
Returns a list of table parameters, that is metadata items which pertain to the entire table.java.net.URL
getURL()
Initially returns null to indicate that this table itself is not persistent.void
setColumnInfo(int icol, ColumnInfo colInfo)
void
setName(java.lang.String name)
Sets the name of this table.void
setParameter(DescribedValue dval)
Adds the given DescribedValue to the list of parameter metadata objects associated with this table.void
setParameters(java.util.List<DescribedValue> paramList)
void
setURL(java.net.URL url)
Sets the URL of this table.-
Methods inherited from class uk.ac.starlink.table.WrapperStarTable
checkedLongToInt, close, getBaseTable, getCell, getColumnAuxDataInfos, getColumnCount, getRow, getRowAccess, getRowCount, getRowSequence, getRowSplittable, isRandom, toString
-
-
-
-
Constructor Detail
-
MetaCopyStarTable
public MetaCopyStarTable(StarTable base)
Constructor.- Parameters:
base
- base table
-
-
Method Detail
-
getName
public java.lang.String getName()
Description copied from interface:StarTable
Returns the name of this table, if it has one. The meaning of the name is not defined, but it will typically be a short string of text indicating the identity of this table.- Specified by:
getName
in interfaceStarTable
- Overrides:
getName
in classWrapperStarTable
- Returns:
- a name for this table, or null if no suitable one exists
-
setName
public void setName(java.lang.String name)
Description copied from interface:StarTable
Sets the name of this table. If called, the supplied name should provide the return value for subsequent calls ofStarTable.getName()
.- Specified by:
setName
in interfaceStarTable
- Overrides:
setName
in classWrapperStarTable
- Parameters:
name
- table name
-
getURL
public java.net.URL getURL()
Description copied from class:WrapperStarTable
Initially returns null to indicate that this table itself is not persistent.- Specified by:
getURL
in interfaceStarTable
- Overrides:
getURL
in classWrapperStarTable
- Returns:
- the URL of this table, or null if none is known
-
setURL
public void setURL(java.net.URL url)
Description copied from interface:StarTable
Sets the URL of this table. It ought to be possible in principle to reconstruct this table by reading the resource at url. If called, the supplied url should provide the return value for subsequent calls ofStarTable.getURL()
.- Specified by:
setURL
in interfaceStarTable
- Overrides:
setURL
in classWrapperStarTable
- Parameters:
url
- table URL
-
getParameters
public java.util.List<DescribedValue> getParameters()
Description copied from interface:StarTable
Returns a list of table parameters, that is metadata items which pertain to the entire table.- Specified by:
getParameters
in interfaceStarTable
- Overrides:
getParameters
in classWrapperStarTable
- Returns:
- a List of DescribedValue objects constituting table-wide metadata not covered elsewhere in this interface
-
setParameters
public void setParameters(java.util.List<DescribedValue> paramList)
-
getParameterByName
public DescribedValue getParameterByName(java.lang.String name)
Description copied from interface:StarTable
Returns a parameter (table-wide metadata item) of this table located by its name. If more than one parameter with the given name exists, an arbitrary one will be returned. If no parameter with the given name exists, null will be returned.- Specified by:
getParameterByName
in interfaceStarTable
- Overrides:
getParameterByName
in classWrapperStarTable
- Parameters:
name
- the name of the table parameter required
-
setParameter
public void setParameter(DescribedValue dval)
Description copied from interface:StarTable
Adds the given DescribedValue to the list of parameter metadata objects associated with this table. If an item in the parameter list with the same name as the supplied value already exists, it is removed from the list.- Specified by:
setParameter
in interfaceStarTable
- Overrides:
setParameter
in classWrapperStarTable
- Parameters:
dval
- the new parameter datum to add
-
getColumnInfo
public ColumnInfo getColumnInfo(int icol)
Description copied from interface:StarTable
Returns the object describing the data in a given column.- Specified by:
getColumnInfo
in interfaceStarTable
- Overrides:
getColumnInfo
in classWrapperStarTable
- Parameters:
icol
- the column for which header information is required- Returns:
- a ValueInfo object for column icol
-
setColumnInfo
public void setColumnInfo(int icol, ColumnInfo colInfo)
-
-