The class and shape of each column in a
(accessed using the
get/setShape() methods of
correspond to the
arraysize attributes of the
corresponding FIELD element in the VOTable.
You are not expected to access the
arraysize attributes directly.
How Java classes map to VOTable data types for the content of
columns is similar to elsewhere in STIL.
In general, scalars are represented by the corresponding primitive
wrapper class (
etc), and arrays are represented by an array of primitives
of the corresponding type (
Arrays are only ever one-dimensional - information about any
multidimensional shape they may have is supplied separately
getShape method on the corresponding
There are a couple of exceptions to this: arrays with
are represented by String objects
since that is almost always what is intended
(n-dimensional arrays of
char are treated as if they were
(n-1)-dimensional arrays of Strings),
unsignedByte types are represented as if they were
shorts, since in Java bytes are always signed.
Complex values are represented as if they were an array of the corresponding
type but with an extra dimension of size two (the most rapidly varying).
The following table summarises how all VOTable datatypes are represented:
datatype Class for scalar Class for arraysize>1 -------- ---------------- --------------------- boolean Boolean boolean bit boolean boolean unsignedByte Short short short Short short int Integer int long Long long char Char String or String unicodeChar Char String or String float Float float double Double double floatComplex float float doubleComplex double double