org.apache.poi.hslf.record

## Class InteractiveInfoAtom

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

- All Implemented Interfaces:
    GenericRecord

      public class InteractiveInfoAtom
      extends RecordAtom

  Tne atom that holds metadata on Links in the document. (The actual link is held Document.ExObjList.ExHyperlink)
  Author:
    Nick Burch, Yegor Kozlov

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `InteractiveInfoAtom.Action`
    `static class` | `InteractiveInfoAtom.Jump`
    `static class` | `InteractiveInfoAtom.Link`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static byte` | `ACTION_CUSTOMSHOW`
    `static byte` | `ACTION_HYPERLINK`
    `static byte` | `ACTION_JUMP`
    `static byte` | `ACTION_MACRO`
    `static byte` | `ACTION_MEDIA`
    `static byte` | `ACTION_NONE` Action Table
    `static byte` | `ACTION_OLE`
    `static byte` | `ACTION_RUNPROGRAM`
    `static byte` | `JUMP_ENDSHOW`
    `static byte` | `JUMP_FIRSTSLIDE`
    `static byte` | `JUMP_LASTSLIDE`
    `static byte` | `JUMP_LASTSLIDEVIEWED`
    `static byte` | `JUMP_NEXTSLIDE`
    `static byte` | `JUMP_NONE` Jump Table
    `static byte` | `JUMP_PREVIOUSSLIDE`
    `static byte` | `LINK_CustomShow`
    `static byte` | `LINK_FirstSlide`
    `static byte` | `LINK_LastSlide`
    `static byte` | `LINK_NextSlide` Types of hyperlinks
    `static byte` | `LINK_NULL`
    `static byte` | `LINK_OtherFile`
    `static byte` | `LINK_OtherPresentation`
    `static byte` | `LINK_PreviousSlide`
    `static byte` | `LINK_SlideNumber`
    `static byte` | `LINK_Url`

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

      `logger`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `InteractiveInfoAtom()` Constructs a brand new link related atom record.
    `protected` | `InteractiveInfoAtom(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
    --- | ---
    `byte` | `getAction()` Hyperlink Action.
    `byte` | `getFlags()` Flags
    `java.util.Map<java.lang.String,java.util.function.Supplier<?>>` | `getGenericProperties()`
    `int` | `getHyperlinkID()` Gets the link number.
    `byte` | `getHyperlinkType()` hyperlink type
    `byte` | `getJump()` Jump
    `byte` | `getOleVerb()` Only valid when action == OLEAction.
    `long` | `getRecordType()` Gets the record type.
    `int` | `getSoundRef()` a reference to a sound in the sound collection.
    `void` | `setAction(byte val)` Hyperlink Action
    `void` | `setFlags(byte val)` Flags
    `void` | `setHyperlinkID(int number)` Sets the persistent unique identifier of the link
    `void` | `setHyperlinkType(byte val)` hyperlink type
    `void` | `setJump(byte val)` Jump
    `void` | `setOleVerb(byte val)` Only valid when action == OLEAction.
    `void` | `setSoundRef(int val)` a reference to a sound in the sound collection.
    `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, getGenericChildren, getGenericRecordType, writeLittleEndian, writeLittleEndian`

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

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

- - ### Field Detail

    - #### ACTION_NONE

          public static final byte ACTION_NONE

      Action Table
      See Also:
        Constant Field Values

    - #### ACTION_MACRO

          public static final byte ACTION_MACRO

      See Also:
        Constant Field Values

    - #### ACTION_RUNPROGRAM

          public static final byte ACTION_RUNPROGRAM

      See Also:
        Constant Field Values

    - #### ACTION_JUMP

          public static final byte ACTION_JUMP

      See Also:
        Constant Field Values

    - #### ACTION_HYPERLINK

          public static final byte ACTION_HYPERLINK

      See Also:
        Constant Field Values

    - #### ACTION_OLE

          public static final byte ACTION_OLE

      See Also:
        Constant Field Values

    - #### ACTION_MEDIA

          public static final byte ACTION_MEDIA

      See Also:
        Constant Field Values

    - #### ACTION_CUSTOMSHOW

          public static final byte ACTION_CUSTOMSHOW

      See Also:
        Constant Field Values

    - #### JUMP_NONE

          public static final byte JUMP_NONE

      Jump Table
      See Also:
        Constant Field Values

    - #### JUMP_NEXTSLIDE

          public static final byte JUMP_NEXTSLIDE

      See Also:
        Constant Field Values

    - #### JUMP_PREVIOUSSLIDE

          public static final byte JUMP_PREVIOUSSLIDE

      See Also:
        Constant Field Values

    - #### JUMP_FIRSTSLIDE

          public static final byte JUMP_FIRSTSLIDE

      See Also:
        Constant Field Values

    - #### JUMP_LASTSLIDE

          public static final byte JUMP_LASTSLIDE

      See Also:
        Constant Field Values

    - #### JUMP_LASTSLIDEVIEWED

          public static final byte JUMP_LASTSLIDEVIEWED

      See Also:
        Constant Field Values

    - #### JUMP_ENDSHOW

          public static final byte JUMP_ENDSHOW

      See Also:
        Constant Field Values

    - #### LINK_NextSlide

          public static final byte LINK_NextSlide

      Types of hyperlinks
      See Also:
        Constant Field Values

    - #### LINK_PreviousSlide

          public static final byte LINK_PreviousSlide

      See Also:
        Constant Field Values

    - #### LINK_FirstSlide

          public static final byte LINK_FirstSlide

      See Also:
        Constant Field Values

    - #### LINK_LastSlide

          public static final byte LINK_LastSlide

      See Also:
        Constant Field Values

    - #### LINK_CustomShow

          public static final byte LINK_CustomShow

      See Also:
        Constant Field Values

    - #### LINK_SlideNumber

          public static final byte LINK_SlideNumber

      See Also:
        Constant Field Values

    - #### LINK_Url

          public static final byte LINK_Url

      See Also:
        Constant Field Values

    - #### LINK_OtherPresentation

          public static final byte LINK_OtherPresentation

      See Also:
        Constant Field Values

    - #### LINK_OtherFile

          public static final byte LINK_OtherFile

      See Also:
        Constant Field Values

    - #### LINK_NULL

          public static final byte LINK_NULL

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### InteractiveInfoAtom

          protected InteractiveInfoAtom()

      Constructs a brand new link related atom record.

    - #### InteractiveInfoAtom

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

    - #### getHyperlinkID

          public int getHyperlinkID()

      Gets the link number. You will normally look the ExHyperlink with this number to get the details.
      Returns:
        the link number

    - #### setHyperlinkID

          public void setHyperlinkID(int number)

      Sets the persistent unique identifier of the link
      Parameters:
        `number` - the persistent unique identifier of the link

    - #### getSoundRef

          public int getSoundRef()

      a reference to a sound in the sound collection.

    - #### setSoundRef

          public void setSoundRef(int val)

      a reference to a sound in the sound collection.
      Parameters:
        `val` - a reference to a sound in the sound collection

    - #### getAction

          public byte getAction()

      Hyperlink Action.

      see `ACTION_*` constants for the list of actions

      Returns:
        hyperlink action.

    - #### setAction

          public void setAction(byte val)

      Hyperlink Action

      see `ACTION_*` constants for the list of actions

      Parameters:
        `val` - hyperlink action.

    - #### getOleVerb

          public byte getOleVerb()

      Only valid when action == OLEAction. OLE verb to use, 0 = first verb, 1 = second verb, etc.

    - #### setOleVerb

          public void setOleVerb(byte val)

      Only valid when action == OLEAction. OLE verb to use, 0 = first verb, 1 = second verb, etc.

    - #### getJump

          public byte getJump()

      Jump

      see `JUMP_*` constants for the list of actions

      Returns:
        jump

    - #### setJump

          public void setJump(byte val)

      Jump

      see `JUMP_*` constants for the list of actions

      Parameters:
        `val` - jump

    - #### getFlags

          public byte getFlags()

      Flags

    - Bit 1: Animated. If 1, then button is animated
    - Bit 2: Stop sound. If 1, then stop current sound when button is pressed.
    - Bit 3: CustomShowReturn. If 1, and this is a jump to custom show, then return to this slide after custom show.

- #### setFlags

      public void setFlags(byte val)

  Flags

- Bit 1: Animated. If 1, then button is animated
- Bit 2: Stop sound. If 1, then stop current sound when button is pressed.
- Bit 3: CustomShowReturn. If 1, and this is a jump to custom show, then return to this slide after custom show.

- #### getHyperlinkType

      public byte getHyperlinkType()

  hyperlink type
  Returns:
    hyperlink type

- #### setHyperlinkType

      public void setHyperlinkType(byte val)

  hyperlink type
  Parameters:
    `val` - hyperlink type

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

- #### getGenericProperties

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

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