Package adams.ml.data

Class 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 a Instance object. All dates are treated as DateTimeMsec.
    Author:
    FracPete (fracpete at waikato dot ac dot nz)
    See Also:
    Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from interface adams.data.spreadsheet.Cell

        adams.data.spreadsheet.Cell.ContentType
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected int m_ColIndex
      the column index.
      protected InstanceView m_Owner
      the owning row.
      • Fields inherited from interface adams.data.spreadsheet.Cell

        FORMULA_ERROR, PREFIX_FORMULA
    • 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.
      • Methods inherited from interface adams.data.spreadsheet.Cell

        toString
    • Field Detail

      • 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 row
        colIndex - 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 interface adams.data.spreadsheet.Cell
        Parameters:
        owner - the owner
      • getOwner

        public InstanceView getOwner()
        Returns the row this cell belongs to.
        Specified by:
        getOwner in interface adams.data.spreadsheet.Cell
        Returns:
        the owner
      • getSpreadSheet

        public adams.data.spreadsheet.SpreadSheet getSpreadSheet()
        Returns the spreadsheet this cell belongs to.
        Specified by:
        getSpreadSheet in interface adams.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 interface adams.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 interface adams.data.spreadsheet.Cell
      • setContent

        public adams.data.spreadsheet.Cell setContent​(Boolean value)
        Ignored.
        Specified by:
        setContent in interface adams.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 interface adams.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 interface adams.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 interface adams.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 interface adams.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 interface adams.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 interface adams.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 interface adams.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 interface adams.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 interface adams.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 interface adams.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 interface adams.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 interface adams.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 interface adams.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 interface adams.data.spreadsheet.Cell
        Parameters:
        value - the content
        type - 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 interface adams.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 interface adams.data.spreadsheet.Cell
        Parameters:
        value - the content
        type - the type to use
        Returns:
        the cell itself
      • setObject

        public adams.data.spreadsheet.Cell setObject​(Object value)
        Ignored.
        Specified by:
        setObject in interface adams.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 interface adams.data.spreadsheet.Cell
        Parameters:
        value - the content
        Returns:
        the cell itself
      • getFormula

        public String getFormula()
        Returns the formula.
        Specified by:
        getFormula in interface adams.data.spreadsheet.Cell
        Returns:
        the formula, null if none used
      • getObject

        public Object getObject()
        Returns the object.
        Specified by:
        getObject in interface adams.data.spreadsheet.Cell
        Returns:
        the object, null if none set
      • getContent

        public String getContent()
        Returns the content of the cell.
        Specified by:
        getContent in interface adams.data.spreadsheet.Cell
        Returns:
        the content
      • getContentType

        public adams.data.spreadsheet.Cell.ContentType getContentType()
        Returns the content type.
        Specified by:
        getContentType in interface adams.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 the setObject(Object) method.
        Specified by:
        setNative in interface adams.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 the SpreadSheet.MISSING_VALUE string.
        Specified by:
        getNative in interface adams.data.spreadsheet.Cell
        Returns:
        the corresponding object
      • index

        public int index()
        Returns the column this cell is in.
        Specified by:
        index in interface adams.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 interface adams.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 interface adams.data.spreadsheet.Cell
        Returns:
        true if missing value
      • isBoolean

        public boolean isBoolean()
        Checks whether the cell represents a boolean value.
        Specified by:
        isBoolean in interface adams.data.spreadsheet.Cell
        Returns:
        true if boolean value
      • toBoolean

        public Boolean toBoolean()
        Checks whether the cell represents a boolean value.
        Specified by:
        toBoolean in interface adams.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 interface adams.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 interface adams.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 interface adams.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 interface adams.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 interface adams.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 interface adams.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 interface adams.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 interface adams.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 interface adams.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 interface adams.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 interface adams.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 interface adams.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 interface adams.data.spreadsheet.Cell
        Returns:
        true if a double
      • toDouble

        public Double toDouble()
        Returns the content as double, if possible.
        Specified by:
        toDouble in interface adams.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 interface adams.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 interface adams.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 interface adams.data.spreadsheet.Cell
        Returns:
        true if a formula
      • isObject

        public boolean isObject()
        Returns whether the content represents an object.
        Specified by:
        isObject in interface adams.data.spreadsheet.Cell
        Returns:
        true if an object
      • calculate

        public void calculate()
        Does nothing.
        Specified by:
        calculate in interface adams.data.spreadsheet.Cell