## org.apache.poi.hssf.record
Class SubRecord

    java.lang.Object
      org.apache.poi.hssf.record.SubRecord

Direct Known Subclasses:
  CommonObjectDataSubRecord, EmbeddedObjectRefSubRecord, EndSubRecord, FtCblsSubRecord, 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 java.lang.Object` `clone()`
`static SubRecord` `createSubRecord(LittleEndianInput in, int cmoOt)` read a sub-record from the supplied stream
`protected abstract int` `getDataSize()`
`boolean` `isTerminating()` Wether 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 java.lang.Object clone()

  Overrides:
    `clone` in class `java.lang.Object`

### isTerminating

    public boolean isTerminating()

  Wether 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

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