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

    java.lang.Object
      org.apache.poi.hssf.record.RecordBase
          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

`RecordAggregate`s are groups of of BIFF `Record`s 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.

Author:
  Josh Micich

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 `Record`s being used to manage POI's internal implementation. Callers should not assume either way, and therefore only attempt to modify those `Record`s 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`

Copyright 2012 The Apache Software Foundation or its licensors, as applicable.