org.apache.poi.hssf.record
Class Record

java.lang.Object
  extended by 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, CFHeaderRecord, CFRecordsAggregate, CFRuleRecord, ChartFormatRecord, ChartRecord, ChartTitleFormatRecord, CodepageRecord, ColumnInfoRecord, ColumnInfoRecordsAggregate, ContinueRecord, CountryRecord, CRNCountRecord, CRNRecord, DataFormatRecord, DateWindow1904Record, DatRecord, DBCellRecord, DefaultColWidthRecord, DefaultDataLabelTextPropertiesRecord, DefaultRowHeightRecord, DeltaRecord, DimensionsRecord, DrawingRecord, DSFRecord, DVALRecord, DVRecord, EndRecord, EOFRecord, ExtendedFormatRecord, ExternalNameRecord, ExternSheetRecord, ExternSheetSubRecord, ExtSSTInfoSubRecord, ExtSSTRecord, FilePassRecord, FileSharingRecord, FnGroupCountRecord, FontBasisRecord, FontIndexRecord, FontRecord, FooterRecord, FormatRecord, FormulaRecord, FormulaRecordAggregate, FrameRecord, GridsetRecord, GutsRecord, HCenterRecord, HeaderRecord, HideObjRecord, HyperlinkRecord, IndexRecord, InterfaceEndRecord, InterfaceHdrRecord, IterationRecord, LabelRecord, LabelSSTRecord, LastCellOfRowDummyRecord, LeftMarginRecord, LegendRecord, LineFormatRecord, LinkedDataRecord, MergeCellsRecord, MissingCellDummyRecord, MissingRowDummyRecord, MMSRecord, MulBlankRecord, MulRKRecord, NameRecord, NoteRecord, NumberFormatIndexRecord, NumberRecord, ObjectLinkRecord, ObjectProtectRecord, ObjRecord, PageBreakRecord, PaletteRecord, PaneRecord, PasswordRecord, PasswordRev4Record, PlotAreaRecord, PlotGrowthRecord, PrecisionRecord, PrintGridlinesRecord, PrintHeadersRecord, PrintSetupRecord, ProtectionRev4Record, ProtectRecord, RecalcIdRecord, RefModeRecord, RefreshAllRecord, RightMarginRecord, RKRecord, RowRecord, RowRecordsAggregate, SaveRecalcRecord, ScenarioProtectRecord, SCLRecord, SelectionRecord, SeriesChartGroupIndexRecord, SeriesIndexRecord, SeriesLabelsRecord, SeriesListRecord, SeriesRecord, SeriesTextRecord, SeriesToChartGroupRecord, SharedFormulaRecord, SheetPropertiesRecord, SSTRecord, StringRecord, StyleRecord, SubRecord, SupBookRecord, TabIdRecord, TextObjectBaseRecord, TextRecord, TickRecord, TopMarginRecord, UncalcedRecord, UnitsRecord, UnknownRecord, UseSelFSRecord, ValueRangeRecord, ValueRecordsAggregate, VCenterRecord, WindowOneRecord, WindowProtectRecord, WindowTwoRecord, WriteAccessRecord, WriteProtectRecord, 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(RecordInputStream in)
          Constructor Record
 
Method Summary
 java.lang.Object clone()
           
 Record cloneViaReserialise()
          Clone the current record, via a call to serialise it, and another to create a new record from the bytes.
protected abstract  void fillFields(RecordInputStream in)
          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
 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(RecordInputStream in)
Constructor Record

Parameters:
in - the RecordInputstream to read the record from
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 abstract void fillFields(RecordInputStream in)
called by the constructor, should set class level fields. Should throw runtime exception for bad/icomplete data.

Parameters:
in - the RecordInputstream to read the record from

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)

Overrides:
toString in class java.lang.Object

getSid

public abstract short getSid()
return the non static version of the id for this record.


clone

public java.lang.Object clone()
Overrides:
clone in class java.lang.Object

cloneViaReserialise

public Record cloneViaReserialise()
Clone the current record, via a call to serialise it, and another to create a new record from the bytes. May only be used for classes which don't have internal counts / ids in them. For those which do, a full record-aware serialise is needed, which allocates new ids / counts as needed.



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