jxl.biff
Class WritableRecordData

java.lang.Object
  |
  +--jxl.biff.RecordData
        |
        +--jxl.biff.WritableRecordData
All Implemented Interfaces:
ByteData
Direct Known Subclasses:
BackupRecord, BOFRecord, BookboolRecord, BoundsheetRecord, BuiltInStyle, CalcCountRecord, CalcModeRecord, CellValue, CodepageRecord, ColumnInfoRecord, CountryRecord, DBCellRecord, DefaultColumnWidth, DefaultRowHeightRecord, DeltaRecord, DimensionRecord, DSFRecord, EOFRecord, ExtendedSSTRecord, ExternalSheetRecord, FontRecord, FooterRecord, FormatRecord, FunctionGroupCountRecord, GridSetRecord, GuttersRecord, HeaderRecord, HideobjRecord, HorizontalCentreRecord, HorizontalPageBreaksRecord, HyperlinkRecord, IndexRecord, InterfaceEndRecord, InterfaceHeaderRecord, IterationRecord, MarginRecord, MergedCellsRecord, MMSRecord, MsoDrawingGroupRecord, MulRKRecord, NameRecord, NineteenFourRecord, ObjectProtectRecord, PaletteRecord, PaletteRecord, PaneRecord, PasswordRecord, PrecisionRecord, PrintGridLinesRecord, PrintHeadersRecord, Prot4RevPassRecord, Prot4RevRecord, ProtectRecord, RefModeRecord, RefreshAllRecord, RowRecord, SaveRecalcRecord, ScenarioProtectRecord, SCLRecord, SelectionRecord, SetupRecord, SSTContinueRecord, SSTRecord, StringRecord, SupbookRecord, TabIdRecord, UsesElfsRecord, VerticalCentreRecord, Window1Record, Window2Record, WindowProtectRecord, WorkspaceInformationRecord, WriteAccessRecord, XFRecord

public abstract class WritableRecordData
extends RecordData
implements ByteData

Extension of the standard RecordData which is used to support those records which, once read, may also be written


Field Summary
protected static int maxRecordLength
          The maximum length allowed by Excel for any record length
 
Fields inherited from class jxl.biff.RecordData
code, record
 
Constructor Summary
protected WritableRecordData(Record t)
          Constructor used when reading a record
protected WritableRecordData(Type t)
          Constructor used by the writable records
 
Method Summary
 byte[] getBytes()
          Used when writing out records.
protected abstract  byte[] getData()
          Abstract method called by the getBytes method.
private  byte[] handleContinueRecords(byte[] data)
          The number of bytes for this record exceeds the maximum record length, so a continue is required
 
Methods inherited from class jxl.biff.RecordData
getCode, getRecord
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait
 

Field Detail

maxRecordLength

protected static final int maxRecordLength
The maximum length allowed by Excel for any record length
Constructor Detail

WritableRecordData

protected WritableRecordData(Type t)
Constructor used by the writable records
Parameters:
t - the biff type of this record

WritableRecordData

protected WritableRecordData(Record t)
Constructor used when reading a record
Parameters:
t - the raw data read from the biff file
Method Detail

getBytes

public final byte[] getBytes()
Used when writing out records. This portion of the method handles the biff code and the length of the record and appends on the data retrieved from the subclasses
Specified by:
getBytes in interface ByteData
Returns:
the full record data to be written out to the compound file

handleContinueRecords

private byte[] handleContinueRecords(byte[] data)
The number of bytes for this record exceeds the maximum record length, so a continue is required

getData

protected abstract byte[] getData()
Abstract method called by the getBytes method. Subclasses implement this method to incorporate their specific binary data - excluding the biff code and record length, which is handled by this class
Returns:
subclass specific biff data