## org.apache.poi.hssf.record
Class Record

    java.lang.Object
      org.apache.poi.hssf.record.Record

Direct Known Subclasses:
  AbstractEscherHolderRecord, AreaFormatRecord, AreaRecord, AxisLineFormatRecord, AxisOptionsRecord, AxisParentRecord, AxisRecord, AxisUsedRecord, BackupRecord, BarRecord, BeginRecord, BlankRecord, BOFRecord, BookBoolRecord, BoolErrRecord, BottomMarginRecord, BoundSheetRecord, CalcCountRecord, CalcModeRecord, CategorySeriesAxisRecord, ChartFormatRecord, ChartRecord, CodepageRecord, ColumnInfoRecord, ColumnInfoRecordsAggregate, ContinueRecord, CountryRecord, DataFormatRecord, DateWindow1904Record, DatRecord, DBCellRecord, DefaultColWidthRecord, DefaultDataLabelTextPropertiesRecord, DefaultRowHeightRecord, DeltaRecord, DimensionsRecord, DrawingRecord, DSFRecord, EndRecord, EOFRecord, ExtendedFormatRecord, ExternSheetRecord, ExternSheetSubRecord, ExtSSTInfoSubRecord, ExtSSTRecord, FnGroupCountRecord, FontBasisRecord, FontIndexRecord, FontRecord, FooterRecord, FormatRecord, FormulaRecord, FormulaRecordAggregate, FrameRecord, GridsetRecord, GutsRecord, HCenterRecord, HeaderRecord, HideObjRecord, IndexRecord, InterfaceEndRecord, InterfaceHdrRecord, IterationRecord, LabelRecord, LabelSSTRecord, LeftMarginRecord, LegendRecord, LineFormatRecord, LinkedDataRecord, MergeCellsRecord, MMSRecord, MulBlankRecord, MulRKRecord, NameRecord, NumberFormatIndexRecord, NumberRecord, ObjectLinkRecord, ObjRecord, PageBreakRecord, PaletteRecord, PaneRecord, PasswordRecord, PasswordRev4Record, PlotAreaRecord, PlotGrowthRecord, PrecisionRecord, PrintGridlinesRecord, PrintHeadersRecord, PrintSetupRecord, ProtectionRev4Record, ProtectRecord, RecalcIdRecord, RefModeRecord, RefreshAllRecord, RightMarginRecord, RKRecord, RowRecord, RowRecordsAggregate, SaveRecalcRecord, SCLRecord, SelectionRecord, SeriesChartGroupIndexRecord, SeriesIndexRecord, SeriesLabelsRecord, SeriesListRecord, SeriesRecord, SeriesTextRecord, SeriesToChartGroupRecord, SharedFormulaRecord, SheetPropertiesRecord, SSTRecord, StringRecord, StyleRecord, SubRecord, SupBookRecord, TabIdRecord, TextObjectBaseRecord, TextRecord, TickRecord, TopMarginRecord, UnicodeString, UnitsRecord, UnknownRecord, UseSelFSRecord, ValueRangeRecord, ValueRecordsAggregate, VCenterRecord, WindowOneRecord, WindowProtectRecord, WindowTwoRecord, WriteAccessRecord, WSBoolRecord

public abstract class Record
extends java.lang.Object

Title: Record Description: All HSSF Records inherit from this class. It populates the fields common to all records (id, size and data). Subclasses should be sure to validate the id, Company:

Version:
  2.0-pre
Author:
  Andrew C. Oliver, Marc Johnson (mjohnson at apache dot org), Jason Height (jheight at chariot dot net dot au)

Constructor Summary
`Record()` instantiates a blank record strictly for ID matching
`Record(short id, short size, byte[] data)` Constructor Record
`Record(short id, short size, byte[] data, int offset)` Constructor Record

Method Summary
`java.lang.Object` `clone()`
`protected void` `fillFields(byte[] data, short size)` called by the constructor, should set class level fields.
`protected abstract void` `fillFields(byte[] data, short size, int offset)` called by the constructor, should set class level fields.
`int` `getRecordSize()` gives the current serialized size of the record.
`abstract short` `getSid()` return the non static version of the id for this record.
`boolean` `isInValueSection()` DBCELL, ROW, VALUES all say yes
`boolean` `isValue()` tells whether this type of record contains a value
`void` `processContinueRecord(byte[] record)` Process a continuation record; default handling is to ignore it -- TODO add logging
`byte[]` `serialize()` called by the class that is responsible for writing this sucker.
`abstract int` `serialize(int offset, byte[] data)` called by the class that is responsible for writing this sucker.
`java.lang.String` `toString()` get a string representation of the record (for biffview/debugging)
`protected abstract void` `validateSid(short id)` called by constructor, should throw runtime exception in the event of a record passed with a differing ID.

Methods inherited from class java.lang.Object
`equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### Record

    public Record()

  instantiates a blank record strictly for ID matching

### Record

    public Record(short id,
                  short size,
                  byte[] data)

  Constructor Record

Parameters:
  `id` - record id
  `size` - record size
  `data` - raw data

### Record

    public Record(short id,
                  short size,
                  byte[] data,
                  int offset)

  Constructor Record

Parameters:
  `id` - record id
  `size` - record size
  `data` - raw data

Method Detail

### validateSid

    protected abstract void validateSid(short id)

  called by constructor, should throw runtime exception in the event of a record passed with a differing ID.

  Parameters:
    `id` - alleged id for this record

### fillFields

    protected void fillFields(byte[] data,
                              short size)

  called by the constructor, should set class level fields. Should throw runtime exception for bad/icomplete data.

  Parameters:
    `data` - raw data

### fillFields

    protected abstract void fillFields(byte[] data,
                                       short size,
                                       int offset)

  called by the constructor, should set class level fields. Should throw runtime exception for bad/icomplete data.

  Parameters:
    `data` - raw data
    `size` - size of data
    `offset` - of the record's data (provided a big array of the file)

### serialize

    public byte[] serialize()

  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.

  Returns:
    byte array containing instance data

### serialize

    public abstract int serialize(int offset,
                                  byte[] data)

  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.

  Parameters:
    `offset` - to begin writing at
    `data` - byte array containing instance data
  Returns:
    number of bytes written

### getRecordSize

    public int getRecordSize()

  gives the current serialized size of the record. Should include the sid and reclength (4 bytes).

### isValue

    public boolean isValue()

  tells whether this type of record contains a value

### isInValueSection

    public boolean isInValueSection()

  DBCELL, ROW, VALUES all say yes

### toString

    public java.lang.String toString()

  get a string representation of the record (for biffview/debugging)

### processContinueRecord

    public void processContinueRecord(byte[] record)

  Process a continuation record; default handling is to ignore it -- TODO add logging

  Parameters:
    `record` - the continuation record's data

### getSid

    public abstract short getSid()

  return the non static version of the id for this record.

### clone

    public java.lang.Object clone()

Copyright © 2003 Apache Software Foundation.