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:
  • Field Details

  • Constructor Details

  • Method Details

    • 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)
    • getRecordName

      protected String getRecordName()
      Description copied from class: CellRecord
      Gets the debug info BIFF record type name (used by Record.toString().
      Specified by:
      getRecordName in class CellRecord
      Returns:
      the record type name
    • serializeValue

      protected void serializeValue(LittleEndianOutput out)
      Description copied from class: CellRecord
      writes out the value data for this cell record
      Specified by:
      serializeValue in class CellRecord
      Parameters:
      out - the output
    • 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
    • copy

      public RKRecord copy()
      Specified by:
      copy in interface Duplicatable
      Specified by:
      copy in class CellRecord
      Returns:
      a deep copy of the implementing class / instance
    • getGenericRecordType

      public HSSFRecordTypes getGenericRecordType()
      Specified by:
      getGenericRecordType in interface GenericRecord
      Specified by:
      getGenericRecordType in class Record
    • getGenericProperties

      public Map<String,Supplier<?>> getGenericProperties()
      Specified by:
      getGenericProperties in interface GenericRecord
      Overrides:
      getGenericProperties in class CellRecord