Class SharedFormulaRecord


public final class SharedFormulaRecord extends SharedValueRecordBase
Title: SHAREDFMLA (0x04BC) SharedFormulaRecord Description: Primarily used as an excel optimization so that multiple similar formulas are not written out too many times. We should recognize this record and serialize as is since this is used when reading templates.

Note: the documentation says that the SID is BC where biffviewer reports 4BC. The hex dump shows that the two byte sid representation to be 'BC 04' that is consistent with the other high byte record types.

Author:
Danny Mui at apache dot org
  • Field Details

  • Constructor Details

    • SharedFormulaRecord

      public SharedFormulaRecord()
    • SharedFormulaRecord

      public SharedFormulaRecord(RecordInputStream in)
      Parameters:
      in - the RecordInputstream to read the record from
  • Method Details

    • serializeExtraData

      protected void serializeExtraData(LittleEndianOutput out)
      Specified by:
      serializeExtraData in class SharedValueRecordBase
    • getExtraDataSize

      protected int getExtraDataSize()
      Specified by:
      getExtraDataSize in class SharedValueRecordBase
    • toString

      public String toString()
      print a sort of string representation ([SHARED FORMULA RECORD] id = x [/SHARED FORMULA RECORD])
      Overrides:
      toString in class Record
    • 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
    • getFormulaTokens

      public Ptg[] getFormulaTokens(FormulaRecord formula)
      Convert formula into an array of Ptg tokens.
      Parameters:
      formula - The record to break into tokens, cannot be null
      Returns:
      the equivalent Ptg array that the formula would have, were it not shared.
    • clone

      public Object clone()
      Overrides:
      clone in class Record
    • isFormulaSame

      public boolean isFormulaSame(SharedFormulaRecord other)