org.apache.poi.hssf.record
Class SubRecord

java.lang.Object
  extended by org.apache.poi.hssf.record.SubRecord
Direct Known Subclasses:
CommonObjectDataSubRecord, EmbeddedObjectRefSubRecord, EndSubRecord, FtCblsSubRecord, FtCfSubRecord, FtPioGrbitSubRecord, GroupMarkerSubRecord, LbsDataSubRecord, NoteStructureSubRecord

public abstract class SubRecord
extends java.lang.Object

Subrecords are part of the OBJ class.


Constructor Summary
protected SubRecord()
           
 
Method Summary
abstract  SubRecord clone()
           
static SubRecord createSubRecord(LittleEndianInput in, int cmoOt)
          read a sub-record from the supplied stream
protected abstract  int getDataSize()
           
 boolean isTerminating()
          Whether this record terminates the sub-record stream.
 byte[] serialize()
           
abstract  void serialize(LittleEndianOutput out)
           
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SubRecord

protected SubRecord()
Method Detail

createSubRecord

public static SubRecord createSubRecord(LittleEndianInput in,
                                        int cmoOt)
read a sub-record from the supplied stream

Parameters:
in - the stream to read from
cmoOt - the objectType field of the containing CommonObjectDataSubRecord, we need it to propagate to next sub-records as it defines what data follows
Returns:
the created sub-record

getDataSize

protected abstract int getDataSize()
Returns:
the size of the data for this record (which is always 4 bytes less than the total record size). Note however, that ushort encoded after the record sid is usually but not always the data size.

serialize

public byte[] serialize()

serialize

public abstract void serialize(LittleEndianOutput out)

clone

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

isTerminating

public boolean isTerminating()
Whether this record terminates the sub-record stream. There are two cases when this method must be overridden and return true - EndSubRecord (sid = 0x00) - LbsDataSubRecord (sid = 0x12)

Returns:
whether this record is the last in the sub-record stream