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 void
addEscherRecord(int index, EscherRecord element)
boolean
addEscherRecord(EscherRecord element)
void
clearEscherRecords()
AbstractEscherHolderRecord
clone()
void
decode()
Convert raw data to escher records.EscherRecord
findFirstWithId(short id)
Descends into all our children, returning the first EscherRecord with the given id, or null if none foundEscherContainerRecord
getEscherContainer()
If we have a EscherContainerRecord as one of our children (and most top level escher holders do), then return that.EscherRecord
getEscherRecord(int index)
java.util.List<EscherRecord>
getEscherRecords()
byte[]
getRawData()
int
getRecordSize()
gives the current serialized size of the record.abstract short
getSid()
return the non static version of the id for this record.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.void
processContinueRecord(byte[] record)
int
serialize(int offset, byte[] data)
called by the class that is responsible for writing this sucker.void
setRawData(byte[] rawData)
java.lang.String
toString()
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:Record
get a string representation of the record (for biffview/debugging)
-
serialize
public 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 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:RecordBase
gives the current serialized size of the record. Should include the sid and reclength (4 bytes).- Specified by:
getRecordSize
in classRecordBase
- Returns:
- the record size
-
getSid
public abstract short getSid()
Description copied from class:Record
return 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
null
if 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
null
if 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.
-
-