Class ContinuableRecord

Direct Known Subclasses:
ExtSSTRecord, NameRecord, SSTRecord, StringRecord, TextObjectRecord

public abstract class ContinuableRecord extends Record
Common superclass of all records that can produce ContinueRecords while being serialized.
  • Constructor Details

    • ContinuableRecord

      protected ContinuableRecord()
  • Method Details

    • serialize

      protected abstract void serialize(ContinuableRecordOutput out)
      Serializes this record's content to the supplied data output.

      The standard BIFF header (ushort sid, ushort size) has been handled by the superclass, so only BIFF data should be written by this method. Simple data types can be written with the standard LittleEndianOutput methods. Methods from ContinuableRecordOutput can be used to serialize strings (with ContinueRecords being written as required). If necessary, implementors can explicitly start ContinueRecords (regardless of the amount of remaining space).

      Parameters:
      out - a data output stream
    • 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 total length of the encoded record(s) (Note - if any ContinueRecord is required, this result includes the size of those too)
    • serialize

      public final int serialize(int offset, byte[] data)
      Description copied from class: RecordBase
      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.
      Specified by:
      serialize in class RecordBase
      Parameters:
      offset - to begin writing at
      data - byte array containing instance data
      Returns:
      number of bytes written