org.apache.poi.hssf.record

## Class RKRecord

- java.lang.Object
- - org.apache.poi.hssf.record.RecordBase
  - - org.apache.poi.hssf.record.Record
    - - org.apache.poi.hssf.record.StandardRecord
      - - org.apache.poi.hssf.record.CellRecord
        - - org.apache.poi.hssf.record.RKRecord

- All Implemented Interfaces:
    Duplicatable, 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`

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static short` | `RK_IEEE_NUMBER`
    `static short` | `RK_IEEE_NUMBER_TIMES_100`
    `static short` | `RK_INTEGER`
    `static short` | `RK_INTEGER_TIMES_100`
    `static short` | `sid`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `RKRecord(RecordInputStream in)`
    `RKRecord(RKRecord other)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | `appendValueText(java.lang.StringBuilder sb)` Append specific debug info (used by `CellRecord.toString()` for the value contained in this record.
    `RKRecord` | `clone()` Deprecated.
    `RKRecord` | `copy()`
    `protected java.lang.String` | `getRecordName()` Gets the debug info BIFF record type name (used by `CellRecord.toString()`.
    `double` | `getRKNumber()` Extract the value of the number
    `short` | `getSid()` return the non static version of the id for this record.
    `protected int` | `getValueDataSize()`
    `protected void` | `serializeValue(LittleEndianOutput out)` writes out the value data for this cell record

    - ### Methods inherited from class org.apache.poi.hssf.record.CellRecord

      `getColumn, getDataSize, getRow, getXFIndex, serialize, setColumn, setRow, setXFIndex, toString`

    - ### Methods inherited from class org.apache.poi.hssf.record.StandardRecord

      `getRecordSize, serialize`

    - ### Methods inherited from class org.apache.poi.hssf.record.Record

      `cloneViaReserialise, serialize`

    - ### Methods inherited from class java.lang.Object

      `equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### sid

          public static final short sid

      See Also:
        Constant Field Values

    - #### RK_IEEE_NUMBER

          public static final short RK_IEEE_NUMBER

      See Also:
        Constant Field Values

    - #### RK_IEEE_NUMBER_TIMES_100

          public static final short RK_IEEE_NUMBER_TIMES_100

      See Also:
        Constant Field Values

    - #### RK_INTEGER

          public static final short RK_INTEGER

      See Also:
        Constant Field Values

    - #### RK_INTEGER_TIMES_100

          public static final short RK_INTEGER_TIMES_100

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### RKRecord

          public RKRecord(RKRecord other)

    - #### RKRecord

          public RKRecord(RecordInputStream in)

  - ### 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)

    - #### getRecordName

          protected java.lang.String getRecordName()

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

    - #### appendValueText

          protected void appendValueText(java.lang.StringBuilder sb)

      Description copied from class: `CellRecord`
      Append specific debug info (used by `CellRecord.toString()` for the value contained in this record. Trailing new-line should not be appended (superclass does that).
      Specified by:
        `appendValueText` in class `CellRecord`
      Parameters:
        `sb` - the StringBuilder to write to

    - #### 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

    - #### clone

          @Deprecated
           @Removal(version="5.0.0")
          public RKRecord clone()

      Deprecated.
      Overrides:
        `clone` in class `java.lang.Object`

    - #### 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

Copyright 2020 The Apache Software Foundation or its licensors, as applicable.