Package 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
,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
-
-
Field Summary
Fields Modifier and Type Field 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 Description RKRecord(RecordInputStream in)
RKRecord(RKRecord other)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description RKRecord
copy()
Map<String,Supplier<?>>
getGenericProperties()
HSSFRecordTypes
getGenericRecordType()
protected String
getRecordName()
Gets the debug info BIFF record type name (used byRecord.toString()
.double
getRKNumber()
Extract the value of the numbershort
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
-
Methods inherited from class org.apache.poi.hssf.record.StandardRecord
getRecordSize, serialize
-
Methods inherited from class org.apache.poi.hssf.record.Record
cloneViaReserialise, serialize, toString
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.apache.poi.common.usermodel.GenericRecord
getGenericChildren
-
-
-
-
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 numberThe 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 byRecord.toString()
.- Specified by:
getRecordName
in classCellRecord
- 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 classCellRecord
- Parameters:
out
- the output
-
getValueDataSize
protected int getValueDataSize()
- Specified by:
getValueDataSize
in classCellRecord
- 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.
-
copy
public RKRecord copy()
- Specified by:
copy
in interfaceDuplicatable
- Specified by:
copy
in classCellRecord
- Returns:
- a deep copy of the implementing class / instance
-
getGenericRecordType
public HSSFRecordTypes getGenericRecordType()
- Specified by:
getGenericRecordType
in interfaceGenericRecord
- Specified by:
getGenericRecordType
in classRecord
-
getGenericProperties
public Map<String,Supplier<?>> getGenericProperties()
- Specified by:
getGenericProperties
in interfaceGenericRecord
- Overrides:
getGenericProperties
in classCellRecord
-
-