org.apache.poi.hslf.record

## Class ExOleObjAtom

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

- All Implemented Interfaces:
    GenericRecord

      public class ExOleObjAtom
      extends RecordAtom

  Atom storing information for an OLE object. offset type name description 0 uint4 drawAspect Stores whether the object can be completely seen (value of 1), or if only the icon is visible (value of 4). 4 sint4 type Specifies whether the object is embedded or linked. 0 - embedded 1 - linked 8 sint4 objID Unique identifier for the OLE object 2 sint4 subType This specifies the type of ole object. 0 - Default object 1 - Microsoft Clipart Gallery 2 - Microsoft Word table 3 - Microsoft Excel 4 - Microsoft Graph 5 - Microsoft Organization Chart 6 - Microsoft Equation Editor 7 - Microsoft Wordart object 8 - Sound 9 - Image 10 - PowerPoint presentation 11 - PowerPoint slide 12 - Microsoft Project 13 - Microsoft Note-It Ole 14 - Microsoft Excel chart 15 - Media Player object 16 sint4 objStgDataRef Reference to persist object 20 bool1 isBlank Set if the object's image is blank (note: KOffice has this as an int.)

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `ExOleObjAtom.OleType`
    `static class` | `ExOleObjAtom.Subtype`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `DRAW_ASPECT_DOCPRINT` The object is displayed on the screen as though it were printed to a printer.
    `static int` | `DRAW_ASPECT_ICON` The object is displayed as an icon.
    `static int` | `DRAW_ASPECT_THUMBNAIL` The object is displayed as a thumbnail image.
    `static int` | `DRAW_ASPECT_VISIBLE` The object) is displayed as an embedded object inside of a container,
    `static int` | `SUBTYPE_CLIPART_GALLERY`
    `static int` | `SUBTYPE_DEFAULT`
    `static int` | `SUBTYPE_EQUATION`
    `static int` | `SUBTYPE_EXCEL`
    `static int` | `SUBTYPE_EXCEL_CHART`
    `static int` | `SUBTYPE_GRAPH`
    `static int` | `SUBTYPE_IMAGE`
    `static int` | `SUBTYPE_MEDIA_PLAYER`
    `static int` | `SUBTYPE_NOTEIT`
    `static int` | `SUBTYPE_ORGANIZATION_CHART`
    `static int` | `SUBTYPE_POWERPOINT_PRESENTATION`
    `static int` | `SUBTYPE_POWERPOINT_SLIDE`
    `static int` | `SUBTYPE_PROJECT`
    `static int` | `SUBTYPE_SOUND`
    `static int` | `SUBTYPE_WORD_TABLE`
    `static int` | `SUBTYPE_WORDART`
    `static int` | `TYPE_CONTROL` The OLE object is an ActiveX control.
    `static int` | `TYPE_EMBEDDED` An embedded OLE object; the object is serialized and saved within the file.
    `static int` | `TYPE_LINKED` A linked OLE object; the object is saved outside of the file.

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

      `logger`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `` | `ExOleObjAtom()` Constructs a brand new link related atom record.
    `protected` | `ExOleObjAtom(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
    --- | ---
    `int` | `getDrawAspect()` Gets whether the object can be completely seen, or if only the icon is visible.
    `java.util.Map<java.lang.String,java.util.function.Supplier<?>>` | `getGenericProperties()`
    `boolean` | `getIsBlank()` Gets whether the object's image is blank.
    `int` | `getObjID()` Gets the unique identifier for the OLE object.
    `int` | `getObjStgDataRef()` Gets the reference to the persistent object
    `int` | `getOptions()` Gets misc options (the last four bytes in the atom).
    `long` | `getRecordType()` Returns the type (held as a little endian in bytes 3 and 4) that this class handles.
    `int` | `getSubType()` Gets the type of OLE object.
    `int` | `getType()` Gets whether the object is embedded or linked.
    `void` | `setDrawAspect(int aspect)` Sets whether the object can be completely seen, or if only the icon is visible.
    `void` | `setObjID(int id)` Sets the unique identifier for the OLE object.
    `void` | `setObjStgDataRef(int ref)` Sets the reference to the persistent object
    `void` | `setOptions(int opts)` Sets misc options (the last four bytes in the atom).
    `void` | `setSubType(int type)` Sets the type of OLE object.
    `void` | `setType(int type)` Sets whether the object is embedded or linked.
    `java.lang.String` | `toString()`
    `void` | `writeOut(java.io.OutputStream out)` Have the contents printer out into an OutputStream, used when writing a file back out to disk (Normally, atom classes will keep their bytes around, but non atom classes will just request the bytes from their children, then chuck on their header and return)

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

- - ### Field Detail

    - #### DRAW_ASPECT_VISIBLE

          public static final int DRAW_ASPECT_VISIBLE

      The object) is displayed as an embedded object inside of a container,
      See Also:
        Constant Field Values

    - #### DRAW_ASPECT_THUMBNAIL

          public static final int DRAW_ASPECT_THUMBNAIL

      The object is displayed as a thumbnail image.
      See Also:
        Constant Field Values

    - #### DRAW_ASPECT_ICON

          public static final int DRAW_ASPECT_ICON

      The object is displayed as an icon.
      See Also:
        Constant Field Values

    - #### DRAW_ASPECT_DOCPRINT

          public static final int DRAW_ASPECT_DOCPRINT

      The object is displayed on the screen as though it were printed to a printer.
      See Also:
        Constant Field Values

    - #### TYPE_EMBEDDED

          public static final int TYPE_EMBEDDED

      An embedded OLE object; the object is serialized and saved within the file.
      See Also:
        Constant Field Values

    - #### TYPE_LINKED

          public static final int TYPE_LINKED

      A linked OLE object; the object is saved outside of the file.
      See Also:
        Constant Field Values

    - #### TYPE_CONTROL

          public static final int TYPE_CONTROL

      The OLE object is an ActiveX control.
      See Also:
        Constant Field Values

    - #### SUBTYPE_DEFAULT

          public static final int SUBTYPE_DEFAULT

      See Also:
        Constant Field Values

    - #### SUBTYPE_CLIPART_GALLERY

          public static final int SUBTYPE_CLIPART_GALLERY

      See Also:
        Constant Field Values

    - #### SUBTYPE_WORD_TABLE

          public static final int SUBTYPE_WORD_TABLE

      See Also:
        Constant Field Values

    - #### SUBTYPE_EXCEL

          public static final int SUBTYPE_EXCEL

      See Also:
        Constant Field Values

    - #### SUBTYPE_GRAPH

          public static final int SUBTYPE_GRAPH

      See Also:
        Constant Field Values

    - #### SUBTYPE_ORGANIZATION_CHART

          public static final int SUBTYPE_ORGANIZATION_CHART

      See Also:
        Constant Field Values

    - #### SUBTYPE_EQUATION

          public static final int SUBTYPE_EQUATION

      See Also:
        Constant Field Values

    - #### SUBTYPE_WORDART

          public static final int SUBTYPE_WORDART

      See Also:
        Constant Field Values

    - #### SUBTYPE_SOUND

          public static final int SUBTYPE_SOUND

      See Also:
        Constant Field Values

    - #### SUBTYPE_IMAGE

          public static final int SUBTYPE_IMAGE

      See Also:
        Constant Field Values

    - #### SUBTYPE_POWERPOINT_PRESENTATION

          public static final int SUBTYPE_POWERPOINT_PRESENTATION

      See Also:
        Constant Field Values

    - #### SUBTYPE_POWERPOINT_SLIDE

          public static final int SUBTYPE_POWERPOINT_SLIDE

      See Also:
        Constant Field Values

    - #### SUBTYPE_PROJECT

          public static final int SUBTYPE_PROJECT

      See Also:
        Constant Field Values

    - #### SUBTYPE_NOTEIT

          public static final int SUBTYPE_NOTEIT

      See Also:
        Constant Field Values

    - #### SUBTYPE_EXCEL_CHART

          public static final int SUBTYPE_EXCEL_CHART

      See Also:
        Constant Field Values

    - #### SUBTYPE_MEDIA_PLAYER

          public static final int SUBTYPE_MEDIA_PLAYER

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### ExOleObjAtom

          public ExOleObjAtom()

      Constructs a brand new link related atom record.

    - #### ExOleObjAtom

          protected ExOleObjAtom(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

    - #### getDrawAspect

          public int getDrawAspect()

      Gets whether the object can be completely seen, or if only the icon is visible.
      Returns:
        the draw aspect, one of the `DRAW_ASPECT_*` constants.

    - #### setDrawAspect

          public void setDrawAspect(int aspect)

      Sets whether the object can be completely seen, or if only the icon is visible.
      Parameters:
        `aspect` - the draw aspect, one of the `DRAW_ASPECT_*` constants.

    - #### getType

          public int getType()

      Gets whether the object is embedded or linked.
      Returns:
        the type, one of the `TYPE_EMBEDDED_*` constants.

    - #### setType

          public void setType(int type)

      Sets whether the object is embedded or linked.
      Parameters:
        `type` - the type, one of the `TYPE_EMBEDDED_*` constants.

    - #### getObjID

          public int getObjID()

      Gets the unique identifier for the OLE object.
      Returns:
        the object ID.

    - #### setObjID

          public void setObjID(int id)

      Sets the unique identifier for the OLE object.
      Parameters:
        `id` - the object ID.

    - #### getSubType

          public int getSubType()

      Gets the type of OLE object.
      Returns:
        the sub-type, one of the `SUBTYPE_*` constants.

    - #### setSubType

          public void setSubType(int type)

      Sets the type of OLE object.
      Parameters:
        `type` - the sub-type, one of the `SUBTYPE_*` constants.

    - #### getObjStgDataRef

          public int getObjStgDataRef()

      Gets the reference to the persistent object
      Returns:
        the reference to the persistent object, corresponds with an `ExOleObjStg` storage container.

    - #### setObjStgDataRef

          public void setObjStgDataRef(int ref)

      Sets the reference to the persistent object
      Parameters:
        `ref` - the reference to the persistent object, corresponds with an `ExOleObjStg` storage container.

    - #### getIsBlank

          public boolean getIsBlank()

      Gets whether the object's image is blank.
      Returns:
        `true` if the object's image is blank.

    - #### getOptions

          public int getOptions()

      Gets misc options (the last four bytes in the atom).
      Returns:
        `true` if the object's image is blank.

    - #### setOptions

          public void setOptions(int opts)

      Sets misc options (the last four bytes in the atom).

    - #### getRecordType

          public long getRecordType()

      Returns the type (held as a little endian in bytes 3 and 4) that this class handles.
      Specified by:
        `getRecordType` in class `Record`

    - #### writeOut

          public void writeOut(java.io.OutputStream out)
                        throws java.io.IOException

      Have the contents printer out into an OutputStream, used when writing a file back out to disk (Normally, atom classes will keep their bytes around, but non atom classes will just request the bytes from their children, then chuck on their header and return)
      Specified by:
        `writeOut` in class `Record`
      Throws:
        `java.io.IOException`

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `java.lang.Object`

    - #### getGenericProperties

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

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