## 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.ExOleObjStg

All Implemented Interfaces:
  PersistRecord, PositionDependentRecord

    public class ExOleObjStg

extends RecordAtom
implements PositionDependentRecord, PersistRecord

Storage for embedded OLE objects.

Author:
  Daniel Noll

Field Summary
`protected int` `myLastOnDiskOffset` Our location on the disk, as of the last write out

Fields inherited from class org.apache.poi.hslf.record.Record
`logger`

Constructor Summary
`` `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
`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.
`int` `getLastOnDiskOffset()` Fetch our location on the disk, as of the last write out
`int` `getPersistId()` Fetch our sheet ID, as found from a PersistPtrHolder.
`byte[]` `getRawData()`
`long` `getRecordType()` Gets the record type.
`boolean` `isCompressed()`
`void` `setData(byte[] data)` Sets the embedded data.
`void` `setLastOnDiskOffset(int offset)` Update the Record's idea of where on disk it lives, after a write out.
`void` `setPersistId(int id)` Set our sheet ID, as found from a PersistPtrHolder
`void` `updateOtherRecordReferences(java.util.Hashtable<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.RecordAtom
`getChildRecords, isAnAtom`

Methods inherited from class org.apache.poi.hslf.record.Record
`buildRecordAtOffset, createRecordForType, findChildRecords, writeLittleEndian, writeLittleEndian`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### myLastOnDiskOffset

    protected int myLastOnDiskOffset

  Our location on the disk, as of the last write out

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.

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

### getLastOnDiskOffset

    public int getLastOnDiskOffset()

  Fetch our location on the disk, as of the last write out

  Specified by:
    `getLastOnDiskOffset` in interface `PositionDependentRecord`

### setLastOnDiskOffset

    public void setLastOnDiskOffset(int offset)

  Update the Record's idea of where on disk it lives, after a write out. Use with care...

  Specified by:
    `setLastOnDiskOffset` in interface `PositionDependentRecord`

### updateOtherRecordReferences

    public void updateOtherRecordReferences(java.util.Hashtable<java.lang.Integer,java.lang.Integer> oldToNewReferencesLookup)

  Description copied from interface: `PositionDependentRecord`
  Offer the record the list of records that have changed their location as part of the writeout.

  Specified by:
    `updateOtherRecordReferences` in interface `PositionDependentRecord`

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