|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectuk.ac.starlink.table.DefaultValueInfo
Default implementation of the ValueInfo interface. Additionally provides mutator methods for the accessors defined in ValueInfo.
Constructor Summary | |
DefaultValueInfo()
Constructs a new generic DefaultValueInfo object without a name. |
|
DefaultValueInfo(String name)
Constructs a new generic DefaultValueInfo object with a given name. |
|
DefaultValueInfo(String name,
Class contentClass)
Constructs a new DefaultValueInfo object with a given name and class. |
|
DefaultValueInfo(String name,
Class contentClass,
String description)
Constructs a new DefaultValueInfo object with a given name, class and description. |
|
DefaultValueInfo(ValueInfo base)
Constructs a DefaultValueInfo object which is a copy of an existing one. |
Method Summary | |
static String |
formatClass(Class clazz)
Returns a human-friendly string indicating the class and shape of a given class object. |
static String |
formatShape(int[] shape)
Returns a string representing the shape of this object, if it is array-like. |
String |
formatValue(Object value,
int maxLength)
Returns a string representation of a given value described by this ValueInfo. |
static ValueInfo |
generalise(ValueInfo vi1,
ValueInfo vi2)
Returns a ValueInfo object which is sufficiently general to cover every object described by either of two given ValueInfo objects. |
TableCellEditor |
getCellEditor()
Returns a cell editor suitable for editing the data described by this info, or null if no user editing is possible. |
TableCellRenderer |
getCellRenderer()
Returns a renderer suitable for rendering the data described by this info. |
Class |
getContentClass()
Returns the java class of the values described by this object. |
String |
getDescription()
Returns a description of the values described by this object. |
int |
getElementSize()
May indicate the size of a value element stored as the value of this info. |
String |
getName()
Returns the name of this object. |
int[] |
getShape()
Returns the shape associated with array value types. |
String |
getUCD()
Returns the Unified Column Descriptor string applying to the values described by this object. |
String |
getUnitString()
Returns a string representing the units of the values described by this object. |
boolean |
isArray()
Indicates whether the values described by this object are java arrays. |
boolean |
isNullable()
Indicates whether values returned described by this object may have the value null. |
void |
setContentClass(Class contentClass)
Sets the java class of objects contained in this column. |
void |
setDescription(String description)
Sets a textual description of the values described by this object. |
void |
setElementSize(int size)
Sets the element size of values described by this object. |
void |
setName(String name)
Sets the name for this object. |
void |
setNullable(boolean isNullable)
Sets whether values described by this object may have the value null. |
void |
setShape(int[] shape)
Sets the shape of values described by this object. |
void |
setUCD(String ucd)
Sets the Unified Content Descriptor string applying to values described by this object. |
void |
setUnitString(String unitString)
Sets the string representing the units for the values described by this object. |
String |
toString()
Returns a string representation of this object. |
Object |
unformatString(String rep)
Returns an object of the sort described by this ValueInfo represented by the given string rep. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
public DefaultValueInfo()
public DefaultValueInfo(String name)
name
- the name applying to described valuespublic DefaultValueInfo(String name, Class contentClass)
name
- the name applying to described valuescontentClass
- the class of which described values should be
instancespublic DefaultValueInfo(String name, Class contentClass, String description)
name
- the name applying to described valuescontentClass
- the class of which described values should be
instancesdescription
- a textual description of the described valuespublic DefaultValueInfo(ValueInfo base)
base
- the object to copyMethod Detail |
public void setName(String name)
name
- the namepublic String getName()
ValueInfo
getName
in interface ValueInfo
public void setUnitString(String unitString)
unitString
- a string giving the units, or null if
units are unknownpublic String getUnitString()
ValueInfo
getUnitString
in interface ValueInfo
public void setUCD(String ucd)
ucd
- the UCD, or null if none is knownpublic String getUCD()
ValueInfo
getUCD
in interface ValueInfo
UCD
public void setDescription(String description)
description
- a texttual description of this column,
or the empty string "" if there is nothing to be saidpublic String getDescription()
ValueInfo
getDescription
in interface ValueInfo
public Class getContentClass()
ValueInfo
The class returned should not under normal circumstances be an array of arrays; to express multidimensionality of arrays you should store an array of non-array objects or of primitives and provide shape information via the getShape method. There is nothing to stop you describing arrays of arrays with a ValueInfo, but some other elements of the tables infrastructure and applications may work on the assumption that such objects are not present.
Note that to store sets of more than 231 items it will be necessary to use some custom object, since java arrays are indexed by type int.
getContentClass
in interface ValueInfo
public void setContentClass(Class contentClass)
contentClass
- the class of items in this column
IllegalArgumentException
- if contentClass is primitivepublic boolean isArray()
ValueInfo
getContentClass().getComponentType()!=null
isArray
in interface ValueInfo
public int[] getShape()
ValueInfo
ValueInfo.getContentClass()
is a java array type,
the return from this method may contain information about
the shape of the rectangular array which this represents.
The dimensions of the array are given in the elements of
the return value of this method, fastest varying first.
All elements of the array should be positive, except that the
last (slowest varying) element may be <=0 (conventionally -1)
to indicate that the number of (shape.length-1)-dimensional
slices contained in the value is not known.
If nothing is known about the shape of the array values,
then a 1-element array whose only element is <=0 should be returned.
If getContentClass does not give an array type (hence isArray returns false) the return value for this method is undefined (but should probably be null).
getShape
in interface ValueInfo
public void setShape(int[] shape)
shape
- the shape
IllegalArgumentException
- if shape has elements apart
from the last one which are <=0public int getElementSize()
ValueInfo
ValueInfo.getShape()
(or by 1, if getShape
is null).
The exact meaning of the value returned is dependent on this ValueInfo. This method was introduced to return the maximum number of characters in a String-class ValueInfo; this information is necessary for writing out to certain formats (FITS). Other ValueInfo types however may use it for their own purposes.
ValueInfo instances which decline to supply this information should return -1 from this method.
getElementSize
in interface ValueInfo
public void setElementSize(int size)
size
- the element sizepublic boolean isNullable()
ValueInfo
isNullable
in interface ValueInfo
public void setNullable(boolean isNullable)
isNullable
- false if objects in this column are
guaranteed non-nullpublic static ValueInfo generalise(ValueInfo vi1, ValueInfo vi2)
vi1
- one ValueInfo objectvi2
- the other ValueInfo object
public TableCellRenderer getCellRenderer()
getCellRenderer
in interface ValueInfo
public TableCellEditor getCellEditor()
public String formatValue(Object value, int maxLength)
ValueInfo
formatValue
in interface ValueInfo
value
- the value to representmaxLength
- the maximum number of characters in the returned
stringpublic static String formatClass(Class clazz)
clazz
- the class
public static String formatShape(int[] shape)
shape
- the shape to format
public Object unformatString(String rep)
ValueInfo
unformatString
in interface ValueInfo
rep
- the string representation of a value described by
this ValueInfo
public String toString()
|
Copyright © 2004 CLRC: Central Laboratory of the Research Councils. All rights reserved. | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |