org.apache.poi.hssf.record
Class AbstractEscherHolderRecord

java.lang.Object
  extended byorg.apache.poi.hssf.record.Record
      extended byorg.apache.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
AbstractEscherHolderRecord()
           
AbstractEscherHolderRecord(short id, short size, byte[] data)
          Constructs a Bar record and sets its fields appropriately.
AbstractEscherHolderRecord(short id, short size, byte[] data, int offset)
          Constructs a Bar record and sets its fields appropriately.
 
Method Summary
 boolean addEscherRecord(EscherRecord element)
           
 void addEscherRecord(int index, EscherRecord element)
           
 void clearEscherRecords()
           
 java.lang.Object clone()
           
protected  void fillFields(byte[] data, short size, int offset)
          called by the constructor, should set class level fields.
 EscherRecord getEscherRecord(int index)
           
 java.util.List getEscherRecords()
           
protected abstract  java.lang.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.
 int serialize(int offset, byte[] data)
          called by the class that is responsible for writing this sucker.
 java.lang.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 org.apache.poi.hssf.record.Record
fillFields, isInValueSection, isValue, processContinueRecord, serialize
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

AbstractEscherHolderRecord

public AbstractEscherHolderRecord()

AbstractEscherHolderRecord

public AbstractEscherHolderRecord(short id,
                                  short size,
                                  byte[] data)
Constructs a Bar record and sets its fields appropriately.

Parameters:
id - id must be 0x1017 or an exception will be throw upon validation
size - size the size of the data area of the record
data - data of the record (should not contain sid/len)

AbstractEscherHolderRecord

public AbstractEscherHolderRecord(short id,
                                  short size,
                                  byte[] data,
                                  int offset)
Constructs a Bar record and sets its fields appropriately.

Parameters:
id - id must be 0x1017 or an exception will be throw upon validation
size - size the size of the data area of the record
data - data of the record (should not contain sid/len)
offset - of the record's data
Method Detail

validateSid

protected void validateSid(short id)
Checks the sid matches the expected side for this record

Specified by:
validateSid in class Record
Parameters:
id - the expected sid.

fillFields

protected void fillFields(byte[] data,
                          short size,
                          int offset)
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 class Record
Parameters:
data - raw data
size - size of data
offset - of the record's data (provided a big array of the file)

toString

public java.lang.String toString()
Description copied from class: Record
get a string representation of the record (for biffview/debugging)

Overrides:
toString in class Record

getRecordName

protected abstract java.lang.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.

Specified by:
serialize in class Record
Parameters:
offset - to begin writing at
data - byte array containing instance data
Returns:
number of bytes written

getRecordSize

public int getRecordSize()
Size of record (including 4 byte header)

Overrides:
getRecordSize in class Record

getSid

public abstract short getSid()
Description copied from class: Record
return the non static version of the id for this record.

Specified by:
getSid in class Record

clone

public java.lang.Object clone()
Overrides:
clone in class 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)


Copyright © 2003 Apache Software Foundation.