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

java.lang.Object
  extended by org.apache.poi.hssf.record.Record
      extended by org.apache.poi.hssf.record.aggregates.FormulaRecordAggregate
All Implemented Interfaces:
java.lang.Comparable, CellValueRecordInterface

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)
           
 
Method Summary
 java.lang.Object clone()
           
 int compareTo(java.lang.Object o)
           
 boolean equals(java.lang.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
 FormulaRecord getFormulaRecord()
           
 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.
 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 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
cloneViaReserialise, isValue, 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)
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(RecordInputStream in)
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:
in - the RecordInputstream to read the record from

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)
Overrides:
equals in class java.lang.Object

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()

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 2008 The Apache Software Foundation or its licensors, as applicable.