Package uk.ac.starlink.table
Class ColumnInfo
- java.lang.Object
-
- uk.ac.starlink.table.DefaultValueInfo
-
- uk.ac.starlink.table.ColumnInfo
-
- All Implemented Interfaces:
ValueInfo
public class ColumnInfo extends DefaultValueInfo
Contains information about a table column. This really does the same thing as its superclass,DefaultValueInfo
, but for historical reasons it contains some additional methods for access to the auxiliary metadata items. In earlier versions of the library, columns were allowed to store auxiliary metadata and non-column items (like table parameters) were not, but now they have the same capabilities.- Author:
- Mark Taylor (Starlink)
-
-
Constructor Summary
Constructors Constructor Description ColumnInfo(java.lang.String name)
Constructs a ColumnInfo object.ColumnInfo(java.lang.String name, java.lang.Class<?> contentClass, java.lang.String description)
Constructs a new ColumnInfo object with a given name, class and description.ColumnInfo(ValueInfo base)
Constructs a new ColumnInfo based on a ValueInfo object.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description DescribedValue
getAuxDatum(ValueInfo vinfo)
Gets an item of auxiliary metadata from its specification.<T> T
getAuxDatumValue(ValueInfo vinfo, java.lang.Class<T> clazz)
Gets the value of an item of auxiliary metadata using its specification, requiring a particular return type.<T> T
getAuxDatumValueByName(java.lang.String name, java.lang.Class<T> clazz)
Gets the value of an item of auxiliary metadata by its name, requiring a particular return type.-
Methods inherited from class uk.ac.starlink.table.DefaultValueInfo
formatClass, formatShape, formatValue, generalise, getAuxData, getContentClass, getDescription, getDomainMappers, getElementSize, getName, getShape, getUCD, getUnitString, getUtype, getXtype, isArray, isNullable, setAuxData, setContentClass, setDescription, setDomainMappers, setElementSize, setName, setNullable, setShape, setUCD, setUnitString, setUtype, setXtype, toString, unformatShape, unformatString
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface uk.ac.starlink.table.ValueInfo
getAuxDatumByName, setAuxDatum
-
-
-
-
Constructor Detail
-
ColumnInfo
public ColumnInfo(java.lang.String name)
Constructs a ColumnInfo object.- Parameters:
name
- the name of the column
-
ColumnInfo
public ColumnInfo(ValueInfo base)
Constructs a new ColumnInfo based on a ValueInfo object. All attributes are copied from the template to the new object.- Parameters:
base
- the template ValueInfo
-
ColumnInfo
public ColumnInfo(java.lang.String name, java.lang.Class<?> contentClass, java.lang.String description)
Constructs a new ColumnInfo object with a given name, class and description.- Parameters:
name
- the name applying to described valuescontentClass
- the class of which described values should be instancesdescription
- a textual description of the described values
-
-
Method Detail
-
getAuxDatum
public DescribedValue getAuxDatum(ValueInfo vinfo)
Gets an item of auxiliary metadata from its specification. Currently this just calls getAuxDatumByName(vinfo.getName()), but may be revised in future to match on other attributes.- Parameters:
vinfo
- the data item to match- Returns:
- a DescribedValue object representing the auxiliary metadata item matching vinfo for this column, or null if none exists
-
getAuxDatumValue
public <T> T getAuxDatumValue(ValueInfo vinfo, java.lang.Class<T> clazz)
Gets the value of an item of auxiliary metadata using its specification, requiring a particular return type. This convenience method works likegetAuxDatum(uk.ac.starlink.table.ValueInfo)
but returns a non-null value only if the named item exists and if its value is an instance of the given type clazz.- Parameters:
vinfo
- the data item to matchclazz
- required return type- Returns:
- value of the auxiliary metadata item matching vinfo for this column if it exists and is an instance of clazz or one of its subtypes, otherwise null
-
getAuxDatumValueByName
public <T> T getAuxDatumValueByName(java.lang.String name, java.lang.Class<T> clazz)
Gets the value of an item of auxiliary metadata by its name, requiring a particular return type. This convenience method works likeValueInfo.getAuxDatumByName(java.lang.String)
, but returns a non-null value only if the named item exists, and if its value is an instance of the given type clazz.- Parameters:
name
- the name of an auxiliary metadata itemclazz
- required return type- Returns:
- value of the auxiliary metadata item matching vinfo for this column if it exists and is an instance of clazz or one of its subtypes, otherwise null
-
-