Package loci.poi.hssf.record
Class AbstractEscherHolderRecord
- java.lang.Object
-
- loci.poi.hssf.record.Record
-
- loci.poi.hssf.record.AbstractEscherHolderRecord
-
- Direct Known Subclasses:
DrawingGroupRecord,DrawingRecordForBiffViewer,DrawingSelectionRecord,EscherAggregate
public abstract class AbstractEscherHolderRecord extends Record
The escher container record is used to hold escher records. It is abstract and must be subclassed for maximum benefit.- Author:
- Glen Stampoultzis (glens at apache.org), Michael Zalewski (zalewski at optonline.net)
-
-
Constructor Summary
Constructors Constructor Description AbstractEscherHolderRecord()AbstractEscherHolderRecord(RecordInputStream in)Constructs a Bar record and sets its fields appropriately.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidaddEscherRecord(int index, EscherRecord element)booleanaddEscherRecord(EscherRecord element)voidclearEscherRecords()java.lang.Objectclone()voiddecode()Convert raw data to escher records.protected voidfillFields(RecordInputStream in)called by the constructor, should set class level fields.EscherRecordgetEscherRecord(int index)java.util.ListgetEscherRecords()byte[]getRawData()protected abstract java.lang.StringgetRecordName()intgetRecordSize()Size of record (including 4 byte header)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)protected voidvalidateSid(short id)Checks the sid matches the expected side for this record-
Methods inherited from class loci.poi.hssf.record.Record
isInValueSection, isValue, serialize
-
-
-
-
Constructor Detail
-
AbstractEscherHolderRecord
public AbstractEscherHolderRecord()
-
AbstractEscherHolderRecord
public AbstractEscherHolderRecord(RecordInputStream in)
Constructs a Bar record and sets its fields appropriately.- Parameters:
in- the RecordInputstream to read the record from
-
-
Method Detail
-
validateSid
protected void validateSid(short id)
Checks the sid matches the expected side for this record- Specified by:
validateSidin classRecord- Parameters:
id- the expected sid.
-
fillFields
protected void fillFields(RecordInputStream in)
Description copied from class:Recordcalled by the constructor, should set class level fields. Should throw runtime exception for bad/icomplete data.- Specified by:
fillFieldsin classRecord- Parameters:
in- the RecordInputstream to read the record from
-
toString
public java.lang.String toString()
Description copied from class:Recordget a string representation of the record (for biffview/debugging)
-
getRecordName
protected abstract java.lang.String getRecordName()
-
serialize
public int serialize(int offset, byte[] data)Description copied from class:Recordcalled 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.
-
getRecordSize
public int getRecordSize()
Size of record (including 4 byte header)- Overrides:
getRecordSizein classRecord
-
getSid
public abstract short getSid()
Description copied from class:Recordreturn the non static version of the id for this record.
-
addEscherRecord
public void addEscherRecord(int index, EscherRecord element)
-
addEscherRecord
public boolean addEscherRecord(EscherRecord element)
-
getEscherRecords
public java.util.List getEscherRecords()
-
clearEscherRecords
public void clearEscherRecords()
-
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.
-
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.
-
-