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)
RecordfillFields in class Recordin - the RecordInputstream to read the record frompublic void setRow(int row)
CellValueRecordInterfacesetRow in interface CellValueRecordInterfacerow - the row this cell occurs withinpublic void setColumn(short column)
CellValueRecordInterfacesetColumn in interface CellValueRecordInterfacecolumn - the column this cell definespublic void setXFIndex(short xf)
setXFIndex in interface CellValueRecordInterfacepublic void setValue(double value)
value - calculated valuepublic void setOptions(short options)
options - bitmaskpublic void setExpressionLength(short len)
len - lengthpublic int getRow()
CellValueRecordInterfacegetRow in interface CellValueRecordInterfacepublic short getColumn()
CellValueRecordInterfacegetColumn in interface CellValueRecordInterfacepublic short getXFIndex()
getXFIndex in interface CellValueRecordInterfacepublic 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 Recordid - alleged id for this recordpublic short getSid()
Recordpublic int serialize(int offset,
byte[] data)
public int getRecordSize()
RecordgetRecordSize in class Recordprivate int getTotalPtgSize()
public boolean isBefore(CellValueRecordInterface i)
CellValueRecordInterfaceisBefore in interface CellValueRecordInterfacei - another cell interface record to comparepublic boolean isAfter(CellValueRecordInterface i)
CellValueRecordInterfaceisAfter in interface CellValueRecordInterfacei - record to comparepublic boolean isEqual(CellValueRecordInterface i)
CellValueRecordInterfaceisEqual in interface CellValueRecordInterfacei - record to comparepublic boolean isInValueSection()
RecordisInValueSection in class Recordpublic boolean isValue()
Recordpublic int compareTo(Object obj)
compareTo in interface Comparablepublic String toString()
Recordpublic Object clone()
clone in interface CellValueRecordInterfaceclone in class RecordCopyright © 2015 Open Microscopy Environment