Files
HRMS/hrmsEjb/jxl/read/biff/BaseSharedFormulaRecord.java
2025-07-28 13:56:49 +05:30

61 lines
1.5 KiB
Java

package jxl.read.biff;
import jxl.biff.FormattingRecords;
import jxl.biff.FormulaData;
import jxl.biff.WorkbookMethods;
import jxl.biff.formula.ExternalSheet;
import jxl.biff.formula.FormulaException;
import jxl.biff.formula.FormulaParser;
public abstract class BaseSharedFormulaRecord extends CellValue implements FormulaData {
private String formulaString;
private int filePos;
private byte[] tokens;
private ExternalSheet externalSheet;
private WorkbookMethods nameTable;
public BaseSharedFormulaRecord(Record t, FormattingRecords fr, ExternalSheet es, WorkbookMethods nt, SheetImpl si, int pos) {
super(t, fr, si);
this.externalSheet = es;
this.nameTable = nt;
this.filePos = pos;
}
public String getFormula() throws FormulaException {
if (this.formulaString == null) {
FormulaParser fp = new FormulaParser(this.tokens, this, this.externalSheet, this.nameTable, getSheet().getWorkbook().getSettings());
fp.parse();
this.formulaString = fp.getFormula();
}
return this.formulaString;
}
void setTokens(byte[] t) {
this.tokens = t;
}
protected final byte[] getTokens() {
return this.tokens;
}
protected final ExternalSheet getExternalSheet() {
return this.externalSheet;
}
protected final WorkbookMethods getNameTable() {
return this.nameTable;
}
public Record getRecord() {
return super.getRecord();
}
final int getFilePos() {
return this.filePos;
}
}