org.apache.poi.hslf.usermodel

## Class HSLFObjectShape

- java.lang.Object
- - org.apache.poi.hslf.usermodel.HSLFShape
  - - org.apache.poi.hslf.usermodel.HSLFSimpleShape
    - - org.apache.poi.hslf.usermodel.HSLFPictureShape
      - - org.apache.poi.hslf.usermodel.HSLFObjectShape

- All Implemented Interfaces:
    IAdjustableShape, ObjectShape<HSLFShape,HSLFTextParagraph>, PictureShape<HSLFShape,HSLFTextParagraph>, PlaceableShape<HSLFShape,HSLFTextParagraph>, Shape<HSLFShape,HSLFTextParagraph>, SimpleShape<HSLFShape,HSLFTextParagraph>

      public final class HSLFObjectShape
      extends HSLFPictureShape
      implements ObjectShape<HSLFShape,HSLFTextParagraph>

  A shape representing embedded OLE object.

- - ### Field Summary

    - ### Fields inherited from class org.apache.poi.hslf.usermodel.HSLFSimpleShape

      `_hyperlink, ADJUST_VALUES, DEFAULT_LINE_WIDTH`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `HSLFObjectShape(EscherContainerRecord escherRecord, ShapeContainer<HSLFShape,HSLFTextParagraph> parent)` Create a `OLEShape` object
    `HSLFObjectShape(HSLFPictureData data)` Create a new `OLEShape`
    `HSLFObjectShape(HSLFPictureData data, ShapeContainer<HSLFShape,HSLFTextParagraph> parent)` Create a new `OLEShape`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `ExEmbed` | `getExEmbed()` Return the record container for this embedded object.
    `java.lang.String` | `getFullName()` Returns the full name of the embedded object, e.g.
    `java.lang.String` | `getInstanceName()` Returns the instance name of the embedded object, e.g.
    `HSLFObjectData` | `getObjectData()` Returns unique identifier for the OLE object.
    `int` | `getObjectID()` Returns unique identifier for the OLE object.
    `java.lang.String` | `getProgId()` Returns the ProgID that stores the OLE Programmatic Identifier.
    `void` | `setFullName(java.lang.String fullName)`
    `void` | `setObjectID(int objectId)` Set the unique identifier for the OLE object and register it in the necessary structures
    `void` | `setProgId(java.lang.String progId)`
    `java.io.OutputStream` | `updateObjectData(ObjectMetaData.Application application, ObjectMetaData metaData)` Updates the ole data.

    - ### Methods inherited from class org.apache.poi.hslf.usermodel.HSLFPictureShape

      `afterInsert, createSpContainer, getClipping, getEscherBSERecord, getPictureData, getPictureIndex, getPictureName, getShapeType, setPictureName`

    - ### Methods inherited from class org.apache.poi.hslf.usermodel.HSLFSimpleShape

      `createHyperlink, createSpContainer, getAdjustValue, getFillColor, getGeometry, getHyperlink, getLineBackgroundColor, getLineCap, getLineColor, getLineCompound, getLineDash, getLineDecoration, getLineHeadDecoration, getLineHeadLength, getLineHeadWidth, getLineTailDecoration, getLineTailLength, getLineTailWidth, getLineWidth, getPlaceholder, getPlaceholderDetails, getShadow, getShadowAngle, getShadowColor, getShadowDistance, getStrokeStyle, isPlaceholder, setFillColor, setHyperlink, setLineBackgroundColor, setLineCap, setLineColor, setLineCompound, setLineDash, setLineHeadDecoration, setLineHeadLength, setLineHeadWidth, setLineTailDecoration, setLineTailLength, setLineTailWidth, setLineWidth, setPlaceholder, setStrokeStyle`

    - ### Methods inherited from class org.apache.poi.hslf.usermodel.HSLFShape

      `draw, getAnchor, getClientData, getClientDataRecord, getClientRecords, getEscherChild, getEscherChild, getEscherChild, getEscherChild, getEscherOptRecord, getEscherProperty, getEscherProperty, getEscherProperty, getEscherProperty, getEscherProperty, getEscherProperty, getFill, getFillStyle, getFlipHorizontal, getFlipVertical, getParent, getRotation, getShapeId, getShapeName, getSheet, getSpContainer, moveTo, setAnchor, setEscherProperty, setEscherProperty, setEscherProperty, setEscherProperty, setEscherProperty, setFlipHorizontal, setFlipVertical, setRotation, setShapeId, setShapeType, setSheet`

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

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

    - ### Methods inherited from interface org.apache.poi.sl.usermodel.ObjectShape

      `getPictureData, readObjectData, readObjectDataRaw`

    - ### Methods inherited from interface org.apache.poi.sl.usermodel.Shape

      `draw, getAnchor, getParent, getShapeId, getShapeName, getSheet`

    - ### Methods inherited from interface org.apache.poi.sl.usermodel.PlaceableShape

      `getAnchor, getFlipHorizontal, getFlipVertical, getParent, getRotation, getSheet, setAnchor, setFlipHorizontal, setFlipVertical, setRotation`

    - ### Methods inherited from interface org.apache.poi.sl.usermodel.PictureShape

      `getAlternativePictureData`

    - ### Methods inherited from interface org.apache.poi.sl.usermodel.SimpleShape

      `createHyperlink, getFillColor, getFillStyle, getGeometry, getHyperlink, getLineDecoration, getPlaceholder, getPlaceholderDetails, getShadow, getStrokeStyle, isPlaceholder, setFillColor, setPlaceholder, setShapeType, setStrokeStyle`

    - ### Methods inherited from interface org.apache.poi.sl.draw.geom.IAdjustableShape

      `getAdjustValue`

- - ### Constructor Detail

    - #### HSLFObjectShape

          public HSLFObjectShape(HSLFPictureData data)

      Create a new `OLEShape`
      Parameters:
        `data` - the picture data

    - #### HSLFObjectShape

          public HSLFObjectShape(HSLFPictureData data,
                                 ShapeContainer<HSLFShape,HSLFTextParagraph> parent)

      Create a new `OLEShape`
      Parameters:
        `data` - the picture data
        `parent` - the parent shape

    - #### HSLFObjectShape

          public HSLFObjectShape(EscherContainerRecord escherRecord,
                                 ShapeContainer<HSLFShape,HSLFTextParagraph> parent)

      Create a `OLEShape` object
      Parameters:
        `escherRecord` - the `EscherSpContainer` record which holds information about this picture in the `Slide`
        `parent` - the parent shape of this picture

  - ### Method Detail

    - #### getObjectID

          public int getObjectID()

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

    - #### setObjectID

          public void setObjectID(int objectId)

      Set the unique identifier for the OLE object and register it in the necessary structures
      Parameters:
        `objectId` - the unique identifier for the OLE object

    - #### getObjectData

          public HSLFObjectData getObjectData()

      Returns unique identifier for the OLE object.
      Specified by:
        `getObjectData` in interface `ObjectShape<HSLFShape,HSLFTextParagraph>`
      Returns:
        the unique identifier for the OLE object

    - #### getExEmbed

          public ExEmbed getExEmbed()

      Return the record container for this embedded object.

      It contains: 1. ExEmbedAtom.(4045) 2. ExOleObjAtom (4035) 3. CString (4026), Instance MenuName (1) used for menus and the Links dialog box. 4. CString (4026), Instance ProgID (2) that stores the OLE Programmatic Identifier. A ProgID is a string that uniquely identifies a given object. 5. CString (4026), Instance ClipboardName (3) that appears in the paste special dialog. 6. MetaFile( 4033), optional

    - #### getInstanceName

          public java.lang.String getInstanceName()

      Returns the instance name of the embedded object, e.g. "Document" or "Workbook".
      Returns:
        the instance name of the embedded object

    - #### getFullName

          public java.lang.String getFullName()

      Description copied from interface: `ObjectShape`
      Returns the full name of the embedded object, e.g. "Microsoft Word Document" or "Microsoft Office Excel Worksheet".
      Specified by:
        `getFullName` in interface `ObjectShape<HSLFShape,HSLFTextParagraph>`
      Returns:
        the full name of the embedded object

    - #### setFullName

          public void setFullName(java.lang.String fullName)

    - #### getProgId

          public java.lang.String getProgId()

      Description copied from interface: `ObjectShape`
      Returns the ProgID that stores the OLE Programmatic Identifier. A ProgID is a string that uniquely identifies a given object, for example, "Word.Document.8" or "Excel.Sheet.8".
      Specified by:
        `getProgId` in interface `ObjectShape<HSLFShape,HSLFTextParagraph>`
      Returns:
        the ProgID

    - #### setProgId

          public void setProgId(java.lang.String progId)

    - #### updateObjectData

          public java.io.OutputStream updateObjectData(ObjectMetaData.Application application,
                                                       ObjectMetaData metaData)
                                                throws java.io.IOException

      Description copied from interface: `ObjectShape`
      Updates the ole data. If there wasn't an object registered before, a new ole embedding is registered in the parent slideshow.

      For HSLF this needs to be a `POIFSFileSystem` stream.

      Specified by:
        `updateObjectData` in interface `ObjectShape<HSLFShape,HSLFTextParagraph>`
      Parameters:
        `application` - a preset application enum
        `metaData` - or a custom metaData object, can be `null` if the application has been set
      Returns:
        an `OutputStream` which receives the new data, the data will be persisted on `close()`
      Throws:
        `java.io.IOException` - if the linked object data couldn't be found or a new object data couldn't be initialized

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