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 void
addEscherRecord(int index, EscherRecord element)
boolean
addEscherRecord(EscherRecord element)
void
clearEscherRecords()
Object
clone()
void
decode()
Convert raw data to escher records.protected void
fillFields(RecordInputStream in)
called by the constructor, should set class level fields.EscherRecord
getEscherRecord(int index)
List
getEscherRecords()
byte[]
getRawData()
protected abstract String
getRecordName()
int
getRecordSize()
Size of record (including 4 byte header)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)
String
toString()
get a string representation of the record (for biffview/debugging)protected void
validateSid(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:
validateSid
in classRecord
- Parameters:
id
- the expected sid.
-
fillFields
protected void fillFields(RecordInputStream in)
Description copied from class:Record
called by the constructor, should set class level fields. Should throw runtime exception for bad/icomplete data.- Specified by:
fillFields
in classRecord
- Parameters:
in
- the RecordInputstream to read the record from
-
toString
public String toString()
Description copied from class:Record
get a string representation of the record (for biffview/debugging)
-
getRecordName
protected abstract String getRecordName()
-
serialize
public int serialize(int offset, byte[] data)
Description copied from class:Record
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.
-
getRecordSize
public int getRecordSize()
Size of record (including 4 byte header)- Overrides:
getRecordSize
in classRecord
-
getSid
public abstract short getSid()
Description copied from class:Record
return 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 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.
-
-