Package org.apache.poi.hssf.record
Class AbstractEscherHolderRecord
- java.lang.Object
-
- org.apache.poi.hssf.record.RecordBase
-
- org.apache.poi.hssf.record.Record
-
- org.apache.poi.hssf.record.AbstractEscherHolderRecord
-
- All Implemented Interfaces:
java.lang.Cloneable
- Direct Known Subclasses:
DrawingGroupRecord,DrawingRecordForBiffViewer,EscherAggregate
public abstract class AbstractEscherHolderRecord extends Record implements java.lang.Cloneable
The escher container record is used to hold escher records. It is abstract and must be subclassed for maximum benefit.
-
-
Constructor Summary
Constructors Constructor Description AbstractEscherHolderRecord()AbstractEscherHolderRecord(RecordInputStream in)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidaddEscherRecord(int index, EscherRecord element)booleanaddEscherRecord(EscherRecord element)voidclearEscherRecords()AbstractEscherHolderRecordclone()voiddecode()Convert raw data to escher records.EscherRecordfindFirstWithId(short id)Descends into all our children, returning the first EscherRecord with the given id, or null if none foundEscherContainerRecordgetEscherContainer()If we have a EscherContainerRecord as one of our children (and most top level escher holders do), then return that.EscherRecordgetEscherRecord(int index)java.util.List<EscherRecord>getEscherRecords()byte[]getRawData()intgetRecordSize()gives the current serialized size of the record.abstract shortgetSid()return the non static version of the id for this record.voidjoin(AbstractEscherHolderRecord record)Big drawing group records are split but it's easier to deal with them as a whole group so we need to join them together.voidprocessContinueRecord(byte[] record)intserialize(int offset, byte[] data)called by the class that is responsible for writing this sucker.voidsetRawData(byte[] rawData)java.lang.StringtoString()get a string representation of the record (for biffview/debugging)-
Methods inherited from class org.apache.poi.hssf.record.Record
cloneViaReserialise, serialize
-
-
-
-
Constructor Detail
-
AbstractEscherHolderRecord
public AbstractEscherHolderRecord()
-
AbstractEscherHolderRecord
public AbstractEscherHolderRecord(RecordInputStream in)
-
-
Method Detail
-
toString
public java.lang.String toString()
Description copied from class:Recordget a string representation of the record (for biffview/debugging)
-
serialize
public int serialize(int offset, byte[] data)Description copied from class:RecordBasecalled 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:
serializein classRecordBase- Parameters:
offset- to begin writing atdata- byte array containing instance data- Returns:
- number of bytes written
-
getRecordSize
public int getRecordSize()
Description copied from class:RecordBasegives the current serialized size of the record. Should include the sid and reclength (4 bytes).- Specified by:
getRecordSizein classRecordBase- Returns:
- the record size
-
getSid
public abstract short getSid()
Description copied from class:Recordreturn the non static version of the id for this record.
-
clone
public AbstractEscherHolderRecord clone()
-
addEscherRecord
public void addEscherRecord(int index, EscherRecord element)
-
addEscherRecord
public boolean addEscherRecord(EscherRecord element)
-
getEscherRecords
public java.util.List<EscherRecord> getEscherRecords()
-
clearEscherRecords
public void clearEscherRecords()
-
getEscherContainer
public EscherContainerRecord getEscherContainer()
If we have a EscherContainerRecord as one of our children (and most top level escher holders do), then return that.- Returns:
- the EscherContainerRecord or
nullif no child is a container record
-
findFirstWithId
public EscherRecord findFirstWithId(short id)
Descends into all our children, returning the first EscherRecord with the given id, or null if none found- Parameters:
id- the record to look for- Returns:
- the record or
nullif it can't be found
-
getEscherRecord
public EscherRecord getEscherRecord(int index)
-
join
public void join(AbstractEscherHolderRecord record)
Big drawing group records are split but it's easier to deal with them as a whole group so we need to join them together.- Parameters:
record- the record data to concatenate to the end
-
processContinueRecord
public void processContinueRecord(byte[] record)
-
getRawData
public byte[] getRawData()
-
setRawData
public void setRawData(byte[] rawData)
-
decode
public void decode()
Convert raw data to escher records.
-
-