## org.apache.poi.hssf.record.aggregates
Class FormulaRecordAggregate

    java.lang.Object
      org.apache.poi.hssf.record.Record
          org.apache.poi.hssf.record.aggregates.FormulaRecordAggregate

All Implemented Interfaces:
  CellValueRecordInterface, java.lang.Comparable

public class FormulaRecordAggregate
extends Record
implements CellValueRecordInterface, java.lang.Comparable

The formula record aggregate is used to join together the formula record and it's (optional) string record and (optional) Shared Formula Record (template reads, excel optimization).

Author:
  Glen Stampoultzis (glens at apache.org)

Field Summary
`static short` `sid`

Constructor Summary
`FormulaRecordAggregate(FormulaRecord formulaRecord, StringRecord stringRecord)`
`FormulaRecordAggregate(FormulaRecord formulaRecord, StringRecord stringRecord, SharedFormulaRecord sharedRecord)` Used only in the clone

Method Summary
`java.lang.Object` `clone()`
`int` `compareTo(java.lang.Object o)`
`boolean` `equals(java.lang.Object obj)`
`protected void` `fillFields(byte[] data, short size, int offset)` called by the constructor, should set class level fields.
`short` `getColumn()` get the column this cell defines within the row
`FormulaRecord` `getFormulaRecord()`
`int` `getRecordSize()` gives the current serialized size of the record.
`int` `getRow()` get the row this cell occurs on
`SharedFormulaRecord` `getSharedFormulaRecord()`
`short` `getSid()` return the non static version of the id for this record.
`StringRecord` `getStringRecord()`
`java.lang.String` `getStringValue()`
`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
`int` `serialize(int offset, byte[] data)` called by the class that is responsible for writing this sucker.
`void` `setColumn(short col)` set the column this cell defines within the row
`void` `setFormulaRecord(FormulaRecord formulaRecord)`
`void` `setRow(int row)` set the row this cell occurs on
`void` `setSharedFormulaRecord(SharedFormulaRecord sharedFormulaRecord)` Sets the sharedFormulaRecord, only set from RecordFactory since they are not generated by POI and are an Excel optimization
`void` `setStringRecord(StringRecord stringRecord)`
`void` `setXFIndex(short xf)`
`java.lang.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.

Methods inherited from class org.apache.poi.hssf.record.Record
`fillFields, isValue, processContinueRecord, serialize`

Methods inherited from class java.lang.Object
`finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### sid

    public static final short sid

See Also:
  Constant Field Values

Constructor Detail

### FormulaRecordAggregate

    public FormulaRecordAggregate(FormulaRecord formulaRecord,
                                  StringRecord stringRecord)

### FormulaRecordAggregate

    public FormulaRecordAggregate(FormulaRecord formulaRecord,
                                  StringRecord stringRecord,
                                  SharedFormulaRecord sharedRecord)

  Used only in the clone

Parameters:
  `formulaRecord` -
  `stringRecord` -
  `sharedRecord` -

Method Detail

### validateSid

    protected void validateSid(short id)

  Description copied from class: `Record`
  called by constructor, should throw runtime exception in the event of a record passed with a differing ID.

  Specified by:
    `validateSid` in class `Record`
  Parameters:
    `id` - alleged id for this record

### fillFields

    protected void fillFields(byte[] data,
                              short size,
                              int offset)

  Description copied from class: `Record`
  called by the constructor, should set class level fields. Should throw runtime exception for bad/icomplete data.

  Specified by:
    `fillFields` in class `Record`
  Parameters:
    `data` - raw data
    `size` - size of data
    `offset` - of the record's data (provided a big array of the file)

### serialize

    public int serialize(int offset,
                         byte[] data)

  called by the class that is responsible for writing this sucker. Subclasses should implement this so that their data is passed back in a byte array.

  Specified by:
    `serialize` in class `Record`
  Parameters:
    `offset` - to begin writing at
    `data` - byte array containing instance data
  Returns:
    number of bytes written

### getRecordSize

    public int getRecordSize()

  gives the current serialized size of the record. Should include the sid and reclength (4 bytes).

  Overrides:
    `getRecordSize` in class `Record`

### getSid

    public short getSid()

  return the non static version of the id for this record.

  Specified by:
    `getSid` in class `Record`

### setStringRecord

    public void setStringRecord(StringRecord stringRecord)

### setFormulaRecord

    public void setFormulaRecord(FormulaRecord formulaRecord)

### getFormulaRecord

    public FormulaRecord getFormulaRecord()

### getStringRecord

    public StringRecord getStringRecord()

### isEqual

    public boolean isEqual(CellValueRecordInterface i)

  Description copied from interface: `CellValueRecordInterface`
  returns whether this cell represents the same cell (NOT VALUE)

  Specified by:
    `isEqual` in interface `CellValueRecordInterface`
  Parameters:
    `i` - record to compare
  Returns:
    true if the cells are the same cell (positionally), false if not.

### isAfter

    public boolean isAfter(CellValueRecordInterface i)

  Description copied from interface: `CellValueRecordInterface`
  returns whether this cell is after the passed in cell

  Specified by:
    `isAfter` in interface `CellValueRecordInterface`
  Parameters:
    `i` - record to compare
  Returns:
    true if the cell is after, false if not

### isBefore

    public boolean isBefore(CellValueRecordInterface i)

  Description copied from interface: `CellValueRecordInterface`
  returns whether this cell is before the passed in cell

  Specified by:
    `isBefore` in interface `CellValueRecordInterface`
  Parameters:
    `i` - another cell interface record to compare
  Returns:
    true if the cells is before, or false if not

### getXFIndex

    public short getXFIndex()

  Specified by:
    `getXFIndex` in interface `CellValueRecordInterface`

### setXFIndex

    public void setXFIndex(short xf)

  Specified by:
    `setXFIndex` in interface `CellValueRecordInterface`

### setColumn

    public void setColumn(short col)

  Description copied from interface: `CellValueRecordInterface`
  set the column this cell defines within the row

  Specified by:
    `setColumn` in interface `CellValueRecordInterface`
  Parameters:
    `col` - the column this cell defines

### setRow

    public void setRow(int row)

  Description copied from interface: `CellValueRecordInterface`
  set the row this cell occurs on

  Specified by:
    `setRow` in interface `CellValueRecordInterface`
  Parameters:
    `row` - the row this cell occurs within

### getColumn

    public short getColumn()

  Description copied from interface: `CellValueRecordInterface`
  get the column this cell defines within the row

  Specified by:
    `getColumn` in interface `CellValueRecordInterface`
  Returns:
    the column

### getRow

    public int getRow()

  Description copied from interface: `CellValueRecordInterface`
  get the row this cell occurs on

  Specified by:
    `getRow` in interface `CellValueRecordInterface`
  Returns:
    the row

### compareTo

    public int compareTo(java.lang.Object o)

  Specified by:
    `compareTo` in interface `java.lang.Comparable`

### equals

    public boolean equals(java.lang.Object obj)

### toString

    public java.lang.String toString()

  Description copied from class: `Record`
  get a string representation of the record (for biffview/debugging)

  Overrides:
    `toString` in class `Record`

### clone

    public java.lang.Object clone()

  Specified by:
    `clone` in interface `CellValueRecordInterface`
  Overrides:
    `clone` in class `Record`
  See Also:
    `Object.clone()`

### getSharedFormulaRecord

    public SharedFormulaRecord getSharedFormulaRecord()

  Returns:
    SharedFormulaRecord

### setSharedFormulaRecord

    public void setSharedFormulaRecord(SharedFormulaRecord sharedFormulaRecord)

  Sets the sharedFormulaRecord, only set from RecordFactory since they are not generated by POI and are an Excel optimization

  Parameters:
    `sharedFormulaRecord` - The sharedFormulaRecord to set

### isInValueSection

    public boolean isInValueSection()

  Description copied from class: `Record`
  DBCELL, ROW, VALUES all say yes

  Overrides:
    `isInValueSection` in class `Record`

### getStringValue

    public java.lang.String getStringValue()

Copyright © 2003 Apache Software Foundation.