Class FormulaRecord

All Implemented Interfaces:
Cloneable, CellValueRecordInterface

public final class FormulaRecord extends CellRecord implements Cloneable
Formula Record (0x0006). REFERENCE: PG 317/444 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2)

Author:
Andrew C. Oliver (acoliver at apache dot org), Jason Height (jheight at chariot dot net dot au)
  • Field Details

  • Constructor Details

    • FormulaRecord

      public FormulaRecord()
      Creates new FormulaRecord
    • FormulaRecord

      public FormulaRecord(RecordInputStream ris)
  • Method Details

    • setValue

      public void setValue(double value)
      set the calculated value of the formula
      Parameters:
      value - calculated value
    • setCachedResultTypeEmptyString

      public void setCachedResultTypeEmptyString()
    • setCachedResultTypeString

      public void setCachedResultTypeString()
    • setCachedResultErrorCode

      public void setCachedResultErrorCode(int errorCode)
    • setCachedResultBoolean

      public void setCachedResultBoolean(boolean value)
    • hasCachedResultString

      public boolean hasCachedResultString()
      Returns:
      true if this FormulaRecord is followed by a StringRecord representing the cached text result of the formula evaluation.
    • getCachedResultType

      public int getCachedResultType()
    • getCachedBooleanValue

      public boolean getCachedBooleanValue()
    • getCachedErrorValue

      public int getCachedErrorValue()
    • setOptions

      public void setOptions(short options)
      set the option flags
      Parameters:
      options - bitmask
    • getValue

      public double getValue()
      get the calculated value of the formula
      Returns:
      calculated value
    • getOptions

      public short getOptions()
      get the option flags
      Returns:
      bitmask
    • isSharedFormula

      public boolean isSharedFormula()
    • setSharedFormula

      public void setSharedFormula(boolean flag)
    • isAlwaysCalc

      public boolean isAlwaysCalc()
    • setAlwaysCalc

      public void setAlwaysCalc(boolean flag)
    • isCalcOnLoad

      public boolean isCalcOnLoad()
    • setCalcOnLoad

      public void setCalcOnLoad(boolean flag)
    • getParsedExpression

      public Ptg[] getParsedExpression()
      Returns:
      the formula tokens. never null
    • getFormula

      public Formula getFormula()
    • setParsedExpression

      public void setParsedExpression(Ptg[] ptgs)
    • getSid

      public short getSid()
      Description copied from class: Record
      return the non static version of the id for this record.
      Specified by:
      getSid in class Record
      Returns:
      he id for this record
    • getValueDataSize

      protected int getValueDataSize()
      Specified by:
      getValueDataSize in class CellRecord
      Returns:
      the size (in bytes) of the value data for this cell record
    • serializeValue

      protected void serializeValue(LittleEndianOutput out)
      Description copied from class: CellRecord
      writes out the value data for this cell record
      Specified by:
      serializeValue in class CellRecord
      Parameters:
      out - the output
    • getRecordName

      protected String getRecordName()
      Description copied from class: CellRecord
      Gets the debug info BIFF record type name (used by CellRecord.toString().
      Specified by:
      getRecordName in class CellRecord
      Returns:
      the record type name
    • appendValueText

      protected void appendValueText(StringBuilder sb)
      Description copied from class: CellRecord
      Append specific debug info (used by CellRecord.toString() for the value contained in this record. Trailing new-line should not be appended (superclass does that).
      Specified by:
      appendValueText in class CellRecord
      Parameters:
      sb - the StringBuilder to write to
    • clone

      public FormulaRecord clone()
      Overrides:
      clone in class Record