|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.poi.hssf.record.RecordBase
org.apache.poi.hssf.record.Record
org.apache.poi.hssf.record.RKRecord
public final class RKRecord
Title: RK Record (0x027E) Description: 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
REFERENCE: PG 376 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2)
NumberRecord
Field Summary | |
---|---|
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 | |
---|---|
RKRecord()
|
|
RKRecord(RecordInputStream in)
|
Method Summary | |
---|---|
java.lang.Object |
clone()
|
short |
getColumn()
|
int |
getRKField()
|
double |
getRKNumber()
Extract the value of the number |
short |
getRKType()
Get the type of the number |
int |
getRow()
|
short |
getSid()
return the non static version of the id for this record. |
short |
getXFIndex()
|
static void |
main(java.lang.String[] ignored_args)
Debugging main() |
int |
serialize(int offset,
byte[] data)
called by the class that is responsible for writing this sucker. |
void |
setColumn(short col)
|
void |
setRow(int row)
|
void |
setXFIndex(short xf)
NO OP! |
java.lang.String |
toString()
get a string representation of the record (for biffview/debugging) |
Methods inherited from class org.apache.poi.hssf.record.Record |
---|
cloneViaReserialise, getRecordSize, serialize |
Methods inherited from class java.lang.Object |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final short sid
public static final short RK_IEEE_NUMBER
public static final short RK_IEEE_NUMBER_TIMES_100
public static final short RK_INTEGER
public static final short RK_INTEGER_TIMES_100
Constructor Detail |
---|
public RKRecord()
public RKRecord(RecordInputStream in)
Method Detail |
---|
public int getRow()
getRow
in interface CellValueRecordInterface
public short getColumn()
getColumn
in interface CellValueRecordInterface
public short getXFIndex()
getXFIndex
in interface CellValueRecordInterface
public int getRKField()
public short getRKType()
public double getRKNumber()
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]
public java.lang.String toString()
Record
toString
in class Record
public int serialize(int offset, byte[] data)
RecordBase
serialize
in class RecordBase
offset
- to begin writing atdata
- byte array containing instance data
public static void main(java.lang.String[] ignored_args)
Normally I'd do this in a junit test, but let's face it -- once this algorithm has been tested and it works, we are never ever going to change it. This is driven by the Faceless Enemy's minions, who dare not change the algorithm out from under us.
ignored_args
- command line arguments, which we blithely
ignorepublic short getSid()
Record
getSid
in class Record
public void setColumn(short col)
setColumn
in interface CellValueRecordInterface
col
- the column this cell definespublic void setRow(int row)
setRow
in interface CellValueRecordInterface
row
- the row this cell occurs withinpublic void setXFIndex(short xf)
setXFIndex
in interface CellValueRecordInterface
public java.lang.Object clone()
clone
in class Record
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |