org.apache.poi.hssf.record

## Class StandardRecord

- java.lang.Object
- - org.apache.poi.hssf.record.RecordBase
  - - org.apache.poi.hssf.record.Record
    - - org.apache.poi.hssf.record.StandardRecord

- All Implemented Interfaces:
    Duplicatable
  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

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `StandardRecord()`
    `protected` | `StandardRecord(StandardRecord other)`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `abstract StandardRecord` | `copy()`
    `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

      `cloneViaReserialise, getSid, serialize, toString`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### StandardRecord

          protected StandardRecord()

    - #### StandardRecord

          protected StandardRecord(StandardRecord other)

  - ### 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

    - #### copy

          public abstract StandardRecord copy()

      Specified by:
        `copy` in interface `Duplicatable`
      Specified by:
        `copy` in class `Record`
      Returns:
        a deep copy of the implementing class / instance

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