Package adams.ml.data
Class DataCellView
- java.lang.Object
-
- adams.ml.data.DataCellView
-
- All Implemented Interfaces:
adams.data.spreadsheet.Cell
,Serializable
public class DataCellView extends Object implements adams.data.spreadsheet.Cell
Wrapper for single cell values in aInstance
object. All dates are treated asDateTimeMsec
.- Author:
- FracPete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected int
m_ColIndex
the column index.protected InstanceView
m_Owner
the owning row.
-
Constructor Summary
Constructors Constructor Description DataCellView(InstanceView owner, int colIndex)
Initializes the cell.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
assign(adams.data.spreadsheet.Cell cell)
Obtains the content/type of the other cell, but not the owner.void
calculate()
Does nothing.String
getContent()
Returns the content of the cell.adams.data.spreadsheet.Cell.ContentType
getContentType()
Returns the content type.String
getFormula()
Returns the formula.Object
getNative()
Returns the cell as native object, according to its type.Object
getObject()
Returns the object.InstanceView
getOwner()
Returns the row this cell belongs to.adams.data.spreadsheet.SpreadSheet
getSpreadSheet()
Returns the spreadsheet this cell belongs to.int
index()
Returns the column this cell is in.boolean
isAnyDateType()
Checks whether the cell represents a date, time or date/time value.boolean
isBoolean()
Checks whether the cell represents a boolean value.boolean
isDate()
Checks whether the cell represents a date value.boolean
isDateTime()
Checks whether the cell represents a date/time value.boolean
isDateTimeMsec()
Checks whether the cell represents a date/time with msec value.boolean
isDouble()
Returns whether the content represents a double number.boolean
isFormula()
Returns whether the content represents a formula.boolean
isLong()
Returns whether the content represents a long number.boolean
isMissing()
Checks whether the cell contains a missing value.boolean
isNumeric()
Checks whether the stored string is numeric.boolean
isObject()
Returns whether the content represents an object.boolean
isTime()
Checks whether the cell represents a time value.boolean
isTimeMsec()
Checks whether the cell represents a time/msec value.adams.data.spreadsheet.Cell
parseContent(String value)
Attempts to determine the data type of the string.Object
parseContent(String value, adams.data.spreadsheet.Cell.ContentType type)
Parses the content of the cell using the specified type.adams.data.spreadsheet.Cell
setContent(adams.core.DateTime value)
Sets the content of the cell.adams.data.spreadsheet.Cell
setContent(adams.core.DateTimeMsec value)
Sets the content of the cell.adams.data.spreadsheet.Cell
setContent(adams.core.Time value)
Sets the content of the cell.adams.data.spreadsheet.Cell
setContent(adams.core.TimeMsec value)
Sets the content of the cell.adams.data.spreadsheet.Cell
setContent(Boolean value)
Ignored.adams.data.spreadsheet.Cell
setContent(Byte value)
Sets the content of the cell.adams.data.spreadsheet.Cell
setContent(Double value)
Sets the content of the cell.adams.data.spreadsheet.Cell
setContent(Float value)
Sets the content of the cell.adams.data.spreadsheet.Cell
setContent(Integer value)
Sets the content of the cell.adams.data.spreadsheet.Cell
setContent(Long value)
Sets the content of the cell.adams.data.spreadsheet.Cell
setContent(Short value)
Sets the content of the cell.adams.data.spreadsheet.Cell
setContent(String value)
Sets the content of the cell.adams.data.spreadsheet.Cell
setContent(Date value)
Sets the content of the cell.adams.data.spreadsheet.Cell
setContentAs(String value, adams.data.spreadsheet.Cell.ContentType type)
Sets the content of the cell, trying to parse the content using the specified content type.adams.data.spreadsheet.Cell
setContentAsString(String value)
Sets the string content of the cell.adams.data.spreadsheet.Cell
setFormula(String value)
Ignored.void
setMissing()
Sets the cell to missing.adams.data.spreadsheet.Cell
setNative(Object value)
Determines the best set-method based on the class of the provided object.adams.data.spreadsheet.Cell
setObject(Object value)
Ignored.void
setOwner(adams.data.spreadsheet.Row owner)
Sets the row this cell belongs to.Date
toAnyDateType()
Returns the date content, null if not a date, time or date/time.Boolean
toBoolean()
Checks whether the cell represents a boolean value.Date
toDate()
Returns the date content, null if not a date.adams.core.DateTime
toDateTime()
Returns the date/time content, null if not a date/time.adams.core.DateTimeMsec
toDateTimeMsec()
Returns the date/time msec content, null if not a date/time.Double
toDouble()
Returns the content as double, if possible.Long
toLong()
Returns the content as long, if possible.adams.core.Time
toTime()
Returns the time content, null if not a time.adams.core.TimeMsec
toTimeMsec()
Returns the time/msec content, null if not a time/msec.
-
-
-
Field Detail
-
m_Owner
protected InstanceView m_Owner
the owning row.
-
m_ColIndex
protected int m_ColIndex
the column index.
-
-
Constructor Detail
-
DataCellView
public DataCellView(InstanceView owner, int colIndex)
Initializes the cell.- Parameters:
owner
- the owning rowcolIndex
- the column index
-
-
Method Detail
-
setOwner
public void setOwner(adams.data.spreadsheet.Row owner)
Sets the row this cell belongs to.- Specified by:
setOwner
in interfaceadams.data.spreadsheet.Cell
- Parameters:
owner
- the owner
-
getOwner
public InstanceView getOwner()
Returns the row this cell belongs to.- Specified by:
getOwner
in interfaceadams.data.spreadsheet.Cell
- Returns:
- the owner
-
getSpreadSheet
public adams.data.spreadsheet.SpreadSheet getSpreadSheet()
Returns the spreadsheet this cell belongs to.- Specified by:
getSpreadSheet
in interfaceadams.data.spreadsheet.Cell
- Returns:
- the spreadsheet
-
assign
public void assign(adams.data.spreadsheet.Cell cell)
Obtains the content/type of the other cell, but not the owner.- Specified by:
assign
in interfaceadams.data.spreadsheet.Cell
- Parameters:
cell
- the cell to get the content/type from
-
setMissing
public void setMissing()
Sets the cell to missing.- Specified by:
setMissing
in interfaceadams.data.spreadsheet.Cell
-
setContent
public adams.data.spreadsheet.Cell setContent(Boolean value)
Ignored.- Specified by:
setContent
in interfaceadams.data.spreadsheet.Cell
- Parameters:
value
- the content; null interpreted as missing value- Returns:
- the cell itself
-
setContent
public adams.data.spreadsheet.Cell setContent(Byte value)
Sets the content of the cell.- Specified by:
setContent
in interfaceadams.data.spreadsheet.Cell
- Parameters:
value
- the content; null interpreted as missing value- Returns:
- the cell itself
-
setContent
public adams.data.spreadsheet.Cell setContent(Short value)
Sets the content of the cell.- Specified by:
setContent
in interfaceadams.data.spreadsheet.Cell
- Parameters:
value
- the content; null interpreted as missing value- Returns:
- the cell itself
-
setContent
public adams.data.spreadsheet.Cell setContent(Integer value)
Sets the content of the cell.- Specified by:
setContent
in interfaceadams.data.spreadsheet.Cell
- Parameters:
value
- the content; null interpreted as missing value- Returns:
- the cell itself
-
setContent
public adams.data.spreadsheet.Cell setContent(Long value)
Sets the content of the cell.- Specified by:
setContent
in interfaceadams.data.spreadsheet.Cell
- Parameters:
value
- the content; null interpreted as missing value- Returns:
- the cell itself
-
setContent
public adams.data.spreadsheet.Cell setContent(Float value)
Sets the content of the cell.- Specified by:
setContent
in interfaceadams.data.spreadsheet.Cell
- Parameters:
value
- the content; null interpreted as missing value- Returns:
- the cell itself
-
setContent
public adams.data.spreadsheet.Cell setContent(Double value)
Sets the content of the cell.- Specified by:
setContent
in interfaceadams.data.spreadsheet.Cell
- Parameters:
value
- the content; null interpreted as missing value- Returns:
- the cell itself
-
setContent
public adams.data.spreadsheet.Cell setContent(Date value)
Sets the content of the cell.- Specified by:
setContent
in interfaceadams.data.spreadsheet.Cell
- Parameters:
value
- the content; null interpreted as missing value- Returns:
- the cell itself
-
setContent
public adams.data.spreadsheet.Cell setContent(adams.core.DateTime value)
Sets the content of the cell.- Specified by:
setContent
in interfaceadams.data.spreadsheet.Cell
- Parameters:
value
- the content; null interpreted as missing value- Returns:
- the cell itself
-
setContent
public adams.data.spreadsheet.Cell setContent(adams.core.DateTimeMsec value)
Sets the content of the cell.- Specified by:
setContent
in interfaceadams.data.spreadsheet.Cell
- Parameters:
value
- the content; null interpreted as missing value- Returns:
- the cell itself
-
setContent
public adams.data.spreadsheet.Cell setContent(adams.core.Time value)
Sets the content of the cell.- Specified by:
setContent
in interfaceadams.data.spreadsheet.Cell
- Parameters:
value
- the content; null interpreted as missing value- Returns:
- the cell itself
-
setContent
public adams.data.spreadsheet.Cell setContent(adams.core.TimeMsec value)
Sets the content of the cell.- Specified by:
setContent
in interfaceadams.data.spreadsheet.Cell
- Parameters:
value
- the content; null interpreted as missing value- Returns:
- the cell itself
-
parseContent
public adams.data.spreadsheet.Cell parseContent(String value)
Attempts to determine the data type of the string.- Specified by:
parseContent
in interfaceadams.data.spreadsheet.Cell
- Parameters:
value
- the non-empty string to parse- Returns:
- the cell itself
-
setContent
public adams.data.spreadsheet.Cell setContent(String value)
Sets the content of the cell. Tries to determine whether the cell content is numeric or not.- Specified by:
setContent
in interfaceadams.data.spreadsheet.Cell
- Parameters:
value
- the content- Returns:
- the cell itself
-
parseContent
public Object parseContent(String value, adams.data.spreadsheet.Cell.ContentType type)
Parses the content of the cell using the specified type. If the string cannot be parsed according to the type, missing is used instead.- Specified by:
parseContent
in interfaceadams.data.spreadsheet.Cell
- Parameters:
value
- the contenttype
- the expected type- Returns:
- the parsed content
-
setContentAsString
public adams.data.spreadsheet.Cell setContentAsString(String value)
Sets the string content of the cell.- Specified by:
setContentAsString
in interfaceadams.data.spreadsheet.Cell
- Parameters:
value
- the content- Returns:
- the cell itself
-
setContentAs
public adams.data.spreadsheet.Cell setContentAs(String value, adams.data.spreadsheet.Cell.ContentType type)
Sets the content of the cell, trying to parse the content using the specified content type.- Specified by:
setContentAs
in interfaceadams.data.spreadsheet.Cell
- Parameters:
value
- the contenttype
- the type to use- Returns:
- the cell itself
-
setObject
public adams.data.spreadsheet.Cell setObject(Object value)
Ignored.- Specified by:
setObject
in interfaceadams.data.spreadsheet.Cell
- Parameters:
value
- the content- Returns:
- the cell itself
-
setFormula
public adams.data.spreadsheet.Cell setFormula(String value)
Ignored.- Specified by:
setFormula
in interfaceadams.data.spreadsheet.Cell
- Parameters:
value
- the content- Returns:
- the cell itself
-
getFormula
public String getFormula()
Returns the formula.- Specified by:
getFormula
in interfaceadams.data.spreadsheet.Cell
- Returns:
- the formula, null if none used
-
getObject
public Object getObject()
Returns the object.- Specified by:
getObject
in interfaceadams.data.spreadsheet.Cell
- Returns:
- the object, null if none set
-
getContent
public String getContent()
Returns the content of the cell.- Specified by:
getContent
in interfaceadams.data.spreadsheet.Cell
- Returns:
- the content
-
getContentType
public adams.data.spreadsheet.Cell.ContentType getContentType()
Returns the content type.- Specified by:
getContentType
in interfaceadams.data.spreadsheet.Cell
- Returns:
- the type
-
setNative
public adams.data.spreadsheet.Cell setNative(Object value)
Determines the best set-method based on the class of the provided object. Fallback is thesetObject(Object)
method.- Specified by:
setNative
in interfaceadams.data.spreadsheet.Cell
- Parameters:
value
- the value to set- Returns:
- the cell itself
-
getNative
public Object getNative()
Returns the cell as native object, according to its type. If a cell is missing, the result is theSpreadSheet.MISSING_VALUE
string.- Specified by:
getNative
in interfaceadams.data.spreadsheet.Cell
- Returns:
- the corresponding object
-
index
public int index()
Returns the column this cell is in.- Specified by:
index
in interfaceadams.data.spreadsheet.Cell
- Returns:
- the column index, -1 if not available
-
isNumeric
public boolean isNumeric()
Checks whether the stored string is numeric.- Specified by:
isNumeric
in interfaceadams.data.spreadsheet.Cell
- Returns:
- true if the content is numeric
-
isMissing
public boolean isMissing()
Checks whether the cell contains a missing value.- Specified by:
isMissing
in interfaceadams.data.spreadsheet.Cell
- Returns:
- true if missing value
-
isBoolean
public boolean isBoolean()
Checks whether the cell represents a boolean value.- Specified by:
isBoolean
in interfaceadams.data.spreadsheet.Cell
- Returns:
- true if boolean value
-
toBoolean
public Boolean toBoolean()
Checks whether the cell represents a boolean value.- Specified by:
toBoolean
in interfaceadams.data.spreadsheet.Cell
- Returns:
- true if boolean value
-
isAnyDateType
public boolean isAnyDateType()
Checks whether the cell represents a date, time or date/time value.- Specified by:
isAnyDateType
in interfaceadams.data.spreadsheet.Cell
- Returns:
- true if date, time or date/time value
-
toAnyDateType
public Date toAnyDateType()
Returns the date content, null if not a date, time or date/time.- Specified by:
toAnyDateType
in interfaceadams.data.spreadsheet.Cell
- Returns:
- the date, null if not date, time or date/time
-
isDate
public boolean isDate()
Checks whether the cell represents a date value.- Specified by:
isDate
in interfaceadams.data.spreadsheet.Cell
- Returns:
- true if date value
-
toDate
public Date toDate()
Returns the date content, null if not a date.- Specified by:
toDate
in interfaceadams.data.spreadsheet.Cell
- Returns:
- the date, null if not date
-
isDateTime
public boolean isDateTime()
Checks whether the cell represents a date/time value.- Specified by:
isDateTime
in interfaceadams.data.spreadsheet.Cell
- Returns:
- true if date/time value
-
toDateTime
public adams.core.DateTime toDateTime()
Returns the date/time content, null if not a date/time.- Specified by:
toDateTime
in interfaceadams.data.spreadsheet.Cell
- Returns:
- the date/time, null if not date/time
-
isDateTimeMsec
public boolean isDateTimeMsec()
Checks whether the cell represents a date/time with msec value.- Specified by:
isDateTimeMsec
in interfaceadams.data.spreadsheet.Cell
- Returns:
- true if date/time msec value
-
toDateTimeMsec
public adams.core.DateTimeMsec toDateTimeMsec()
Returns the date/time msec content, null if not a date/time.- Specified by:
toDateTimeMsec
in interfaceadams.data.spreadsheet.Cell
- Returns:
- the date/time msec, null if not date/time
-
isTime
public boolean isTime()
Checks whether the cell represents a time value.- Specified by:
isTime
in interfaceadams.data.spreadsheet.Cell
- Returns:
- true if time value
-
toTime
public adams.core.Time toTime()
Returns the time content, null if not a time.- Specified by:
toTime
in interfaceadams.data.spreadsheet.Cell
- Returns:
- the time, null if not time
-
isTimeMsec
public boolean isTimeMsec()
Checks whether the cell represents a time/msec value.- Specified by:
isTimeMsec
in interfaceadams.data.spreadsheet.Cell
- Returns:
- true if time/msec value
-
toTimeMsec
public adams.core.TimeMsec toTimeMsec()
Returns the time/msec content, null if not a time/msec.- Specified by:
toTimeMsec
in interfaceadams.data.spreadsheet.Cell
- Returns:
- the time/msec, null if not time/msec
-
isDouble
public boolean isDouble()
Returns whether the content represents a double number.- Specified by:
isDouble
in interfaceadams.data.spreadsheet.Cell
- Returns:
- true if a double
-
toDouble
public Double toDouble()
Returns the content as double, if possible.- Specified by:
toDouble
in interfaceadams.data.spreadsheet.Cell
- Returns:
- the content as double, if representing a number, otherwise null
-
isLong
public boolean isLong()
Returns whether the content represents a long number.- Specified by:
isLong
in interfaceadams.data.spreadsheet.Cell
- Returns:
- true if a long
-
toLong
public Long toLong()
Returns the content as long, if possible. First, a Double object is created and then the longValue() method called to return the value.- Specified by:
toLong
in interfaceadams.data.spreadsheet.Cell
- Returns:
- the content as long, if representing a number, otherwise null
-
isFormula
public boolean isFormula()
Returns whether the content represents a formula.- Specified by:
isFormula
in interfaceadams.data.spreadsheet.Cell
- Returns:
- true if a formula
-
isObject
public boolean isObject()
Returns whether the content represents an object.- Specified by:
isObject
in interfaceadams.data.spreadsheet.Cell
- Returns:
- true if an object
-
calculate
public void calculate()
Does nothing.- Specified by:
calculate
in interfaceadams.data.spreadsheet.Cell
-
-