org.apache.poi.hslf.record

## Class Document

- java.lang.Object
- - org.apache.poi.hslf.record.Record
  - - org.apache.poi.hslf.record.RecordContainer
    - - org.apache.poi.hslf.record.PositionDependentRecordContainer
      - - org.apache.poi.hslf.record.Document

- All Implemented Interfaces:
    GenericRecord, PositionDependentRecord

      public final class Document
      extends PositionDependentRecordContainer

  Master container for Document. There is one of these for every slideshow, and it holds lots of definitions, and some summaries.
  Author:
    Nick Burch

- - ### Field Summary

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

      `_children`

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

      `logger`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addSlideListWithText(SlideListWithText slwt)` Adds a new SlideListWithText record, at the appropriate point in the child records.
    `DocumentAtom` | `getDocumentAtom()` Returns the DocumentAtom of this Document
    `Environment` | `getEnvironment()` Returns the Environment of this Notes, which lots of settings for the document in it
    `ExObjList` | `getExObjList(boolean create)` Returns the ExObjList, which holds the references to external objects used in the slides.
    `SlideListWithText` | `getMasterSlideListWithText()` Returns the SlideListWithText that deals with the Master Slides
    `SlideListWithText` | `getNotesSlideListWithText()` Returns the SlideListWithText that deals with the notes, or null if there isn't one
    `PPDrawingGroup` | `getPPDrawingGroup()` Returns the PPDrawingGroup, which holds an Escher Structure that contains information on pictures in the slides.
    `long` | `getRecordType()` We are of type 1000
    `SlideListWithText[]` | `getSlideListWithTexts()` Returns all the SlideListWithTexts that are defined for this Document.
    `SlideListWithText` | `getSlideSlideListWithText()` Returns the SlideListWithText that deals with the Slides, or null if there isn't one
    `void` | `removeSlideListWithText(SlideListWithText slwt)`
    `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.PositionDependentRecordContainer

      `getLastOnDiskOffset, getSheetId, setLastOnDiskOffset, setSheetId, updateOtherRecordReferences`

    - ### Methods inherited from class org.apache.poi.hslf.record.RecordContainer

      `addChildAfter, addChildBefore, appendChildRecord, findFirstOfType, getChildRecords, getGenericProperties, handleParentAwareRecords, isAnAtom, moveChildBefore, moveChildrenAfter, moveChildrenBefore, removeChild, setChildRecord, writeOut`

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

- - ### Method Detail

    - #### getDocumentAtom

          public DocumentAtom getDocumentAtom()

      Returns the DocumentAtom of this Document

    - #### getEnvironment

          public Environment getEnvironment()

      Returns the Environment of this Notes, which lots of settings for the document in it

    - #### getPPDrawingGroup

          public PPDrawingGroup getPPDrawingGroup()

      Returns the PPDrawingGroup, which holds an Escher Structure that contains information on pictures in the slides.

    - #### getExObjList

          public ExObjList getExObjList(boolean create)

      Returns the ExObjList, which holds the references to external objects used in the slides. This may be null, if there are no external references.
      Parameters:
        `create` - if true, create an ExObjList if it doesn't exist

    - #### getSlideListWithTexts

          public SlideListWithText[] getSlideListWithTexts()

      Returns all the SlideListWithTexts that are defined for this Document. They hold the text, and some of the text properties, which are referred to by the slides. This will normally return an array of size 2 or 3

    - #### getMasterSlideListWithText

          public SlideListWithText getMasterSlideListWithText()

      Returns the SlideListWithText that deals with the Master Slides

    - #### getSlideSlideListWithText

          public SlideListWithText getSlideSlideListWithText()

      Returns the SlideListWithText that deals with the Slides, or null if there isn't one

    - #### getNotesSlideListWithText

          public SlideListWithText getNotesSlideListWithText()

      Returns the SlideListWithText that deals with the notes, or null if there isn't one

    - #### addSlideListWithText

          public void addSlideListWithText(SlideListWithText slwt)

      Adds a new SlideListWithText record, at the appropriate point in the child records.

    - #### removeSlideListWithText

          public void removeSlideListWithText(SlideListWithText slwt)

    - #### getRecordType

          public long getRecordType()

      We are of type 1000
      Specified by:
        `getRecordType` in class `Record`

    - #### 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`
      Throws:
        `java.io.IOException`

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