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

java.lang.Object
  extended by org.apache.poi.hssf.record.RecordBase
      extended by org.apache.poi.hssf.record.aggregates.RecordAggregate
Direct Known Subclasses:
CFRecordsAggregate, ChartSubstreamRecordAggregate, ColumnInfoRecordsAggregate, ConditionalFormattingTable, CustomViewSettingsRecordAggregate, DataValidityTable, FormulaRecordAggregate, MergedCellsTable, PageSettingsBlock, RowRecordsAggregate, WorksheetProtectionBlock

public abstract class RecordAggregate
extends RecordBase

RecordAggregates are groups of of BIFF Records that are typically stored together and/or updated together. Workbook / Sheet records are typically stored in a sequential list, which does not provide much structure to coordinate updates.


Nested Class Summary
static class RecordAggregate.PositionTrackingVisitor
          A wrapper for RecordAggregate.RecordVisitor which accumulates the sizes of all records visited.
static interface RecordAggregate.RecordVisitor
           
 
Constructor Summary
RecordAggregate()
           
 
Method Summary
 int getRecordSize()
          gives the current serialized size of the record.
 int serialize(int offset, byte[] data)
          called by the class that is responsible for writing this sucker.
abstract  void visitContainedRecords(RecordAggregate.RecordVisitor rv)
          Visit each of the atomic BIFF records contained in this RecordAggregate in the order that they should be written to file.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RecordAggregate

public RecordAggregate()
Method Detail

visitContainedRecords

public abstract void visitContainedRecords(RecordAggregate.RecordVisitor rv)
Visit each of the atomic BIFF records contained in this RecordAggregate in the order that they should be written to file. Implementors may or may not return the actual Records being used to manage POI's internal implementation. Callers should not assume either way, and therefore only attempt to modify those Records after cloning


serialize

public final int serialize(int offset,
                           byte[] data)
Description copied from class: RecordBase
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 RecordBase
Parameters:
offset - to begin writing at
data - byte array containing instance data
Returns:
number of bytes written

getRecordSize

public int getRecordSize()
Description copied from class: RecordBase
gives the current serialized size of the record. Should include the sid and reclength (4 bytes).

Specified by:
getRecordSize in class RecordBase
Returns:
the record size