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 Details

    • 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 Details

    • 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(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 class Record
      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)
      Overrides:
      toString in class Record
    • 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.
      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 Object clone()
      Overrides:
      clone in class 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.