org.apache.poi.hslf.usermodel

## Class HSLFSlideShowEncrypted

- java.lang.Object
- - org.apache.poi.hslf.usermodel.HSLFSlideShowEncrypted

- All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable

      @Internal
      public class HSLFSlideShowEncrypted
      extends java.lang.Object
      implements java.io.Closeable

  This class provides helper functions for encrypted PowerPoint documents.

- - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `HSLFSlideShowEncrypted(byte[] docstream, java.util.NavigableMap<java.lang.Integer,Record> recordMap)`
    `protected` | `HSLFSlideShowEncrypted(DocumentEncryptionAtom dea)`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected static Record[]` | `addEncryptionRecord(Record[] records, DocumentEncryptionAtom dea)`
    `void` | `close()`
    `protected void` | `decryptPicture(byte[] pictstream, int offset)`
    `protected void` | `decryptRecord(byte[] docstream, int persistId, int offset)`
    `protected void` | `encryptPicture(byte[] pictstream, int offset)`
    `protected java.io.OutputStream` | `encryptRecord(java.io.OutputStream plainStream, int persistId, Record record)`
    `DocumentEncryptionAtom` | `getDocumentEncryptionAtom()`
    `protected EncryptionInfo` | `getEncryptionInfo()`
    `protected static Record[]` | `normalizeRecords(Record[] records)` remove duplicated UserEditAtoms and merge PersistPtrHolder.
    `protected static Record[]` | `removeEncryptionRecord(Record[] records)`
    `protected Record[]` | `updateEncryptionRecord(Record[] records)`

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

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

- - ### Constructor Detail

    - #### HSLFSlideShowEncrypted

          protected HSLFSlideShowEncrypted(DocumentEncryptionAtom dea)

    - #### HSLFSlideShowEncrypted

          protected HSLFSlideShowEncrypted(byte[] docstream,
                                           java.util.NavigableMap<java.lang.Integer,Record> recordMap)

  - ### Method Detail

    - #### getDocumentEncryptionAtom

          public DocumentEncryptionAtom getDocumentEncryptionAtom()

    - #### getEncryptionInfo

          protected EncryptionInfo getEncryptionInfo()

    - #### encryptRecord

          protected java.io.OutputStream encryptRecord(java.io.OutputStream plainStream,
                                                       int persistId,
                                                       Record record)

    - #### decryptRecord

          protected void decryptRecord(byte[] docstream,
                                       int persistId,
                                       int offset)

    - #### decryptPicture

          protected void decryptPicture(byte[] pictstream,
                                        int offset)

    - #### encryptPicture

          protected void encryptPicture(byte[] pictstream,
                                        int offset)

    - #### updateEncryptionRecord

          protected Record[] updateEncryptionRecord(Record[] records)

    - #### normalizeRecords

          protected static Record[] normalizeRecords(Record[] records)

      remove duplicated UserEditAtoms and merge PersistPtrHolder. Before this method is called, make sure that the offsets are correct, i.e. call `HSLFSlideShowImpl.updateAndWriteDependantRecords(OutputStream, Map)`

    - #### removeEncryptionRecord

          protected static Record[] removeEncryptionRecord(Record[] records)

    - #### addEncryptionRecord

          protected static Record[] addEncryptionRecord(Record[] records,
                                                        DocumentEncryptionAtom dea)

    - #### close

          public void close()
                     throws java.io.IOException

      Specified by:
        `close` in interface `java.io.Closeable`
      Specified by:
        `close` in interface `java.lang.AutoCloseable`
      Throws:
        `java.io.IOException`

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