public class FormulaRecord extends Record implements CellValueRecordInterface, Comparable
Modifier and Type | Field and Description |
---|---|
private byte[] |
all_data |
private BitField |
alwaysCalc |
private BitField |
calcOnLoad |
private int |
field_1_row |
private short |
field_2_column |
private short |
field_3_xf |
private double |
field_4_value |
private short |
field_5_options |
private int |
field_6_zero |
private short |
field_7_expression_len |
private Stack |
field_8_parsed_expr |
private BitField |
sharedFormula |
static short |
sid |
private byte[] |
value_data
Since the NaN support seems sketchy (different constants) we'll store and spit it out directly
|
Constructor and Description |
---|
FormulaRecord()
Creates new FormulaRecord
|
FormulaRecord(RecordInputStream in)
Constructs a Formula record and sets its fields appropriately.
|
Modifier and Type | Method and Description |
---|---|
Object |
clone() |
int |
compareTo(Object obj) |
boolean |
equals(Object obj) |
protected void |
fillFields(RecordInputStream in)
called by the constructor, should set class level fields.
|
short |
getColumn()
get the column this cell defines within the row
|
short |
getExpressionLength()
get the length (in number of tokens) of the expression
|
int |
getNumberOfExpressionTokens()
get the size of the stack
|
short |
getOptions()
get the option flags
|
List |
getParsedExpression()
get the stack as a list
|
int |
getRecordSize()
gives the current serialized size of the record.
|
int |
getRow()
get the row this cell occurs on
|
short |
getSid()
return the non static version of the id for this record.
|
private int |
getTotalPtgSize() |
double |
getValue()
get the calculated value of the formula
|
short |
getXFIndex() |
boolean |
isAfter(CellValueRecordInterface i)
returns whether this cell is after the passed in cell
|
boolean |
isBefore(CellValueRecordInterface i)
returns whether this cell is before the passed in cell
|
boolean |
isEqual(CellValueRecordInterface i)
returns whether this cell represents the same cell (NOT VALUE)
|
boolean |
isInValueSection()
DBCELL, ROW, VALUES all say yes
|
boolean |
isSharedFormula() |
boolean |
isValue()
tells whether this type of record contains a value
|
Ptg |
peekExpressionToken()
peek at the token on the top of stack
|
Ptg |
popExpressionToken()
pop a token off of the stack
|
void |
pushExpressionToken(Ptg ptg)
push a token onto the stack
|
int |
serialize(int offset,
byte[] data)
called by the class that is responsible for writing this sucker.
|
void |
setColumn(short column)
set the column this cell defines within the row
|
void |
setExpressionLength(short len)
set the length (in number of tokens) of the expression
|
void |
setOptions(short options)
set the option flags
|
void |
setParsedExpression(Stack ptgs) |
void |
setRow(int row)
set the row this cell occurs on
|
void |
setSharedFormula(boolean flag) |
void |
setValue(double value)
set the calculated value of the formula
|
void |
setXFIndex(short xf) |
String |
toString()
get a string representation of the record (for biffview/debugging)
|
protected void |
validateSid(short id)
called by constructor, should throw runtime exception in the event of a
record passed with a differing ID.
|
public static final short sid
private int field_1_row
private short field_2_column
private short field_3_xf
private double field_4_value
private short field_5_options
private BitField alwaysCalc
private BitField calcOnLoad
private BitField sharedFormula
private int field_6_zero
private short field_7_expression_len
private Stack field_8_parsed_expr
private byte[] value_data
private byte[] all_data
public FormulaRecord()
public FormulaRecord(RecordInputStream in)
in
- the RecordInputstream to read the record fromprotected void fillFields(RecordInputStream in)
Record
fillFields
in class Record
in
- the RecordInputstream to read the record frompublic void setRow(int row)
CellValueRecordInterface
setRow
in interface CellValueRecordInterface
row
- the row this cell occurs withinpublic void setColumn(short column)
CellValueRecordInterface
setColumn
in interface CellValueRecordInterface
column
- the column this cell definespublic void setXFIndex(short xf)
setXFIndex
in interface CellValueRecordInterface
public void setValue(double value)
value
- calculated valuepublic void setOptions(short options)
options
- bitmaskpublic void setExpressionLength(short len)
len
- lengthpublic int getRow()
CellValueRecordInterface
getRow
in interface CellValueRecordInterface
public short getColumn()
CellValueRecordInterface
getColumn
in interface CellValueRecordInterface
public short getXFIndex()
getXFIndex
in interface CellValueRecordInterface
public double getValue()
public short getOptions()
public boolean isSharedFormula()
public void setSharedFormula(boolean flag)
public short getExpressionLength()
public void pushExpressionToken(Ptg ptg)
ptg
- the tokenpublic Ptg popExpressionToken()
public Ptg peekExpressionToken()
public int getNumberOfExpressionTokens()
public List getParsedExpression()
public void setParsedExpression(Stack ptgs)
protected void validateSid(short id)
validateSid
in class Record
id
- alleged id for this recordpublic short getSid()
Record
public int serialize(int offset, byte[] data)
public int getRecordSize()
Record
getRecordSize
in class Record
private int getTotalPtgSize()
public boolean isBefore(CellValueRecordInterface i)
CellValueRecordInterface
isBefore
in interface CellValueRecordInterface
i
- another cell interface record to comparepublic boolean isAfter(CellValueRecordInterface i)
CellValueRecordInterface
isAfter
in interface CellValueRecordInterface
i
- record to comparepublic boolean isEqual(CellValueRecordInterface i)
CellValueRecordInterface
isEqual
in interface CellValueRecordInterface
i
- record to comparepublic boolean isInValueSection()
Record
isInValueSection
in class Record
public boolean isValue()
Record
public int compareTo(Object obj)
compareTo
in interface Comparable
public String toString()
Record
public Object clone()
clone
in interface CellValueRecordInterface
clone
in class Record
Copyright © 2016 Open Microscopy Environment