org.apache.poi.hssf.record.cont
Class ContinuableRecord

java.lang.Object
  extended by org.apache.poi.hssf.record.RecordBase
      extended by org.apache.poi.hssf.record.Record
          extended by org.apache.poi.hssf.record.cont.ContinuableRecord
Direct Known Subclasses:
SSTRecord, StringRecord, TextObjectRecord

public abstract class ContinuableRecord
extends Record

Common superclass of all records that can produce ContinueRecords while being serialized.

Author:
Josh Micich

Constructor Summary
protected ContinuableRecord()
           
 
Method Summary
protected  int getDataSize()
           
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.
 int serialize(int offset, byte[] data)
          called by the class that is responsible for writing this sucker.
 
Methods inherited from class org.apache.poi.hssf.record.Record
clone, cloneViaReserialise, getRecordSize, getSid, serialize, toString
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ContinuableRecord

protected ContinuableRecord()
Method Detail

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

getDataSize

protected final int getDataSize()
Specified by:
getDataSize in class Record
Returns:
four less than the total length of the encoded record(s) (in the case when no ContinueRecord is needed, this is the same ushort value that gets encoded after the record sid

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


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