Class RKRecord

  • All Implemented Interfaces:
    Duplicatable, GenericRecord, CellValueRecordInterface

    public final class RKRecord
    extends CellRecord
    An internal 32 bit number with the two most significant bits storing the type. This is part of a bizarre scheme to save disk space and memory (gee look at all the other whole records that are in the file just "cause".., far better to waste processor cycles on this then leave on of those "valuable" records out). We support this in READ-ONLY mode. HSSF converts these to NUMBER records
    See Also:
    NumberRecord
    • Method Detail

      • getRKNumber

        public double getRKNumber()
        Extract the value of the number

        The mechanism for determining the value is dependent on the two low order bits of the raw number. If bit 1 is set, the number is an integer and can be cast directly as a double, otherwise, it's apparently the exponent and mantissa of a double (and the remaining low-order bits of the double's mantissa are 0's).

        If bit 0 is set, the result of the conversion to a double is divided by 100; otherwise, the value is left alone.

        [insert picture of Screwy Squirrel in full Napoleonic regalia]

        Returns:
        the value as a proper double (hey, it could happen)
      • getValueDataSize

        protected int getValueDataSize()
        Specified by:
        getValueDataSize in class CellRecord
        Returns:
        the size (in bytes) of the value data for this cell record
      • getSid

        public short getSid()
        Description copied from class: Record
        return the non static version of the id for this record.
        Specified by:
        getSid in class Record
        Returns:
        he id for this record