public class ColumnInfo extends DefaultValueInfo
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.Constructor and 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. |
Modifier and Type | Method and 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.
|
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
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getAuxDatumByName, setAuxDatum
public ColumnInfo(java.lang.String name)
ColumnInfo
object.name
- the name of the columnpublic ColumnInfo(ValueInfo base)
ColumnInfo
based on
a ValueInfo
object.
All attributes are copied from the template to the new object.base
- the template ValueInfo
public ColumnInfo(java.lang.String name, java.lang.Class<?> contentClass, java.lang.String description)
ColumnInfo
object with a given name,
class and description.name
- the name applying to described valuescontentClass
- the class of which described values should be
instancesdescription
- a textual description of the described valuespublic DescribedValue getAuxDatum(ValueInfo vinfo)
getAuxDatumByName(vinfo.getName())
,
but may be revised in future to match on other attributes.vinfo
- the data item to matchDescribedValue
object representing the
auxiliary metadata item matching vinfo
for this column, or null
if none existspublic <T> T getAuxDatumValue(ValueInfo vinfo, java.lang.Class<T> clazz)
getAuxDatum(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
.vinfo
- the data item to matchclazz
- required return typevinfo
for this
column if it exists and is an instance of clazz
or one of its subtypes, otherwise null
public <T> T getAuxDatumValueByName(java.lang.String name, java.lang.Class<T> clazz)
ValueInfo.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
.name
- the name of an auxiliary metadata itemclazz
- required return typevinfo
for this column if it exists and is an
instance of clazz
or one of its subtypes,
otherwise null