org.apache.poi.hslf.record

## Class ExOleObjStg

- java.lang.Object
- - org.apache.poi.hslf.record.Record
  - - org.apache.poi.hslf.record.RecordAtom
    - - org.apache.poi.hslf.record.PositionDependentRecordAtom
      - - org.apache.poi.hslf.record.ExOleObjStg

- All Implemented Interfaces:
    GenericRecord, PersistRecord, PositionDependentRecord

      public class ExOleObjStg
      extends PositionDependentRecordAtom
      implements PersistRecord

  Storage for embedded OLE objects.

- - ### Field Summary

    - ### Fields inherited from class org.apache.poi.hslf.record.Record

      `logger`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `` | `ExOleObjStg()` Constructs a new empty storage container.
    `protected` | `ExOleObjStg(byte[] source, int start, int len)` Constructs the link related atom record from its source data.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.io.InputStream` | `getData()` Opens an input stream which will decompress the data on the fly.
    `int` | `getDataLength()` Gets the uncompressed length of the data.
    `java.util.Map<java.lang.String,java.util.function.Supplier<?>>` | `getGenericProperties()`
    `int` | `getPersistId()` Fetch our sheet ID, as found from a PersistPtrHolder.
    `byte[]` | `getRawData()`
    `int` | `getRecordInstance()` Gets the record instance from the header
    `long` | `getRecordType()` Gets the record type.
    `boolean` | `isCompressed()`
    `void` | `setData(byte[] data)` Sets the embedded data.
    `void` | `setPersistId(int id)` Set our sheet ID, as found from a PersistPtrHolder
    `void` | `updateOtherRecordReferences(java.util.Map<java.lang.Integer,java.lang.Integer> oldToNewReferencesLookup)` Offer the record the list of records that have changed their location as part of the writeout.
    `void` | `writeOut(java.io.OutputStream out)` Write the contents of the record back, so it can be written to disk.

    - ### Methods inherited from class org.apache.poi.hslf.record.PositionDependentRecordAtom

      `getLastOnDiskOffset, setLastOnDiskOffset`

    - ### Methods inherited from class org.apache.poi.hslf.record.RecordAtom

      `getChildRecords, isAnAtom`

    - ### Methods inherited from class org.apache.poi.hslf.record.Record

      `buildRecordAtOffset, createRecordForType, findChildRecords, getGenericChildren, getGenericRecordType, writeLittleEndian, writeLittleEndian`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### 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 Detail

    - #### isCompressed

          public boolean isCompressed()

    - #### getDataLength

          public int getDataLength()

      Gets the uncompressed length of the data.
      Returns:
        the uncompressed length of the data.

    - #### getData

          public java.io.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 java.io.IOException

      Sets the embedded data.
      Parameters:
        `data` - the embedded data.
      Throws:
        `java.io.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(java.io.OutputStream out)
                        throws java.io.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:
        `java.io.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(java.util.Map<java.lang.Integer,java.lang.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`

    - #### getGenericProperties

          public java.util.Map<java.lang.String,java.util.function.Supplier<?>> getGenericProperties()

      Specified by:
        `getGenericProperties` in interface `GenericRecord`

Copyright 2020 The Apache Software Foundation or its licensors, as applicable.