org.apache.poi.hssf.record
Class StandardRecord

java.lang.Object
  extended by org.apache.poi.hssf.record.RecordBase
      extended by org.apache.poi.hssf.record.Record
          extended by org.apache.poi.hssf.record.StandardRecord
Direct Known Subclasses:
AreaFormatRecord, AreaRecord, AutoFilterInfoRecord, AxisLineFormatRecord, AxisOptionsRecord, AxisParentRecord, AxisRecord, AxisUsedRecord, BackupRecord, BarRecord, BeginRecord, BlankRecord, BOFRecord, BookBoolRecord, BottomMarginRecord, BoundSheetRecord, CalcCountRecord, CalcModeRecord, CategorySeriesAxisRecord, CatLabRecord, CellRecord, CFHeaderBase, CFRuleBase, ChartEndBlockRecord, ChartEndObjectRecord, ChartFormatRecord, ChartFRTInfoRecord, ChartRecord, ChartStartBlockRecord, ChartStartObjectRecord, ChartTitleFormatRecord, CodepageRecord, ColumnInfoRecord, ContinueRecord, CountryRecord, CRNCountRecord, CRNRecord, DataFormatRecord, DataItemRecord, DataLabelExtensionRecord, DateWindow1904Record, DatRecord, DBCellRecord, DConRefRecord, DefaultColWidthRecord, DefaultDataLabelTextPropertiesRecord, DefaultRowHeightRecord, DeltaRecord, DimensionsRecord, DrawingRecord, DrawingSelectionRecord, DSFRecord, DVALRecord, DVRecord, EndRecord, EOFRecord, ExtendedFormatRecord, ExtendedPivotTableViewFieldsRecord, ExternalNameRecord, ExternSheetRecord, FeatHdrRecord, FeatRecord, FilePassRecord, FileSharingRecord, FnGroupCountRecord, FontBasisRecord, FontIndexRecord, FontRecord, FormatRecord, FrameRecord, GridsetRecord, GutsRecord, HCenterRecord, HeaderFooterBase, HeaderFooterRecord, HideObjRecord, HyperlinkRecord, IndexRecord, InterfaceEndRecord, InterfaceHdrRecord, IterationRecord, LeftMarginRecord, LegendRecord, LineFormatRecord, LinkedDataRecord, MergeCellsRecord, MMSRecord, MulBlankRecord, MulRKRecord, NameCommentRecord, NoteRecord, NumberFormatIndexRecord, ObjectLinkRecord, ObjectProtectRecord, PageBreakRecord, PageItemRecord, PaletteRecord, PaneRecord, PasswordRecord, PasswordRev4Record, PlotAreaRecord, PlotGrowthRecord, PrecisionRecord, PrintGridlinesRecord, PrintHeadersRecord, PrintSetupRecord, ProtectionRev4Record, ProtectRecord, RecalcIdRecord, RefModeRecord, RefreshAllRecord, RightMarginRecord, RowRecord, SaveRecalcRecord, ScenarioProtectRecord, SCLRecord, SelectionRecord, SeriesChartGroupIndexRecord, SeriesIndexRecord, SeriesLabelsRecord, SeriesListRecord, SeriesRecord, SeriesTextRecord, SeriesToChartGroupRecord, SharedValueRecordBase, SheetPropertiesRecord, StreamIDRecord, StyleRecord, SupBookRecord, TabIdRecord, TableStylesRecord, TextRecord, TickRecord, TopMarginRecord, UncalcedRecord, UnitsRecord, UnknownRecord, UserSViewBegin, UserSViewEnd, UseSelFSRecord, ValueRangeRecord, VCenterRecord, ViewDefinitionRecord, ViewFieldsRecord, ViewSourceRecord, WindowOneRecord, WindowProtectRecord, WindowTwoRecord, WriteAccessRecord, WriteProtectRecord, WSBoolRecord

public abstract class StandardRecord
extends Record

Subclasses of this class (the majority of BIFF records) are non-continuable. This allows for some simplification of serialization logic


Constructor Summary
StandardRecord()
           
 
Method Summary
protected abstract  int getDataSize()
           
 int getRecordSize()
          gives the current serialized size of the record.
 int serialize(int offset, byte[] data)
          Write the data content of this BIFF record including the sid and record length.
protected abstract  void serialize(LittleEndianOutput out)
          Write the data content of this BIFF record.
 
Methods inherited from class org.apache.poi.hssf.record.Record
clone, cloneViaReserialise, getSid, serialize, toString
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

StandardRecord

public StandardRecord()
Method Detail

getDataSize

protected abstract int getDataSize()

getRecordSize

public final 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

serialize

public final int serialize(int offset,
                           byte[] data)
Write the data content of this BIFF record including the sid and record length.

The subclass must write the exact number of bytes as reported by RecordBase.getRecordSize()}

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

serialize

protected abstract void serialize(LittleEndianOutput out)
Write the data content of this BIFF record. The 'ushort sid' and 'ushort size' header fields have already been written by the superclass.

The number of bytes written must equal the record size reported by RecordBase.getRecordSize()} minus four ( record header consisting of a 'ushort sid' and 'ushort reclength' has already been written by their superclass).

Parameters:
out - the output object