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, ColumnInfoRecordsAggregate, ConditionalFormattingTable, DataValidityTable, FormulaRecordAggregate, MergedCellsTable, PageSettingsBlock, RowRecordsAggregate

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.

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
protected  void fillFields(RecordInputStream in)
           
 int getRecordSize()
          gives the current serialized size of the record.
 short getSid()
           
 int serialize(int offset, byte[] data)
          called by the class that is responsible for writing this sucker.
protected  void validateSid(short id)
           
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

validateSid

protected final void validateSid(short id)

fillFields

protected final void fillFields(RecordInputStream in)

getSid

public final short getSid()

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


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