Class ExOleObjStg

All Implemented Interfaces:
PersistRecord, PositionDependentRecord

public class ExOleObjStg extends PositionDependentRecordAtom implements PersistRecord
Storage for embedded OLE objects.
  • Constructor Details

    • ExOleObjStg

      public ExOleObjStg()
      Constructs a new empty storage container.
    • ExOleObjStg

      protected ExOleObjStg(byte[] source, int start, int len)
      Constructs the link related atom record from its source data.
      Parameters:
      source - the source data as a byte array.
      start - the start offset into the byte array.
      len - the length of the slice in the byte array.
  • Method Details

    • isCompressed

      public boolean isCompressed()
    • getDataLength

      public int getDataLength()
      Gets the uncompressed length of the data.
      Returns:
      the uncompressed length of the data.
    • getData

      public InputStream getData()
      Opens an input stream which will decompress the data on the fly.
      Returns:
      the data input stream.
    • getRawData

      public byte[] getRawData()
    • setData

      public void setData(byte[] data) throws IOException
      Sets the embedded data.
      Parameters:
      data - the embedded data.
      Throws:
      IOException
    • getRecordType

      public long getRecordType()
      Gets the record type.
      Specified by:
      getRecordType in class Record
      Returns:
      the record type.
    • getRecordInstance

      public int getRecordInstance()
      Gets the record instance from the header
      Returns:
      record instance
    • writeOut

      public void writeOut(OutputStream out) throws IOException
      Write the contents of the record back, so it can be written to disk.
      Specified by:
      writeOut in class Record
      Parameters:
      out - the output stream to write to.
      Throws:
      IOException - if an error occurs.
    • getPersistId

      public int getPersistId()
      Fetch our sheet ID, as found from a PersistPtrHolder. Should match the RefId of our matching SlidePersistAtom
      Specified by:
      getPersistId in interface PersistRecord
    • setPersistId

      public void setPersistId(int id)
      Set our sheet ID, as found from a PersistPtrHolder
      Specified by:
      setPersistId in interface PersistRecord
    • updateOtherRecordReferences

      public void updateOtherRecordReferences(Map<Integer,Integer> oldToNewReferencesLookup)
      Description copied from class: PositionDependentRecordAtom
      Offer the record the list of records that have changed their location as part of the writeout. Allows records to update their internal pointers to other records locations
      Specified by:
      updateOtherRecordReferences in interface PositionDependentRecord
      Specified by:
      updateOtherRecordReferences in class PositionDependentRecordAtom