org.apache.poi.xwpf.usermodel

## Class XWPFEndnotes

- java.lang.Object
- - org.apache.poi.ooxml.POIXMLDocumentPart
  - - org.apache.poi.xwpf.usermodel.XWPFAbstractFootnotesEndnotes
    - - org.apache.poi.xwpf.usermodel.XWPFEndnotes

-     public class XWPFEndnotes
      extends XWPFAbstractFootnotesEndnotes

  Looks after the collection of end notes for a document. Managed end notes (`XWPFEndnote`).
  Since:
    4.0.0

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.apache.poi.ooxml.POIXMLDocumentPart

      `POIXMLDocumentPart.RelationPart`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected org.openxmlformats.schemas.wordprocessingml.x2006.main.CTEndnotes` | `ctEndnotes`

    - ### Fields inherited from class org.apache.poi.xwpf.usermodel.XWPFAbstractFootnotesEndnotes

      `document, listFootnote`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `XWPFEndnotes()`
    `XWPFEndnotes(PackagePart part)` Construct XWPFEndnotes from a package part

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `XWPFEndnote` | `addEndnote(org.openxmlformats.schemas.wordprocessingml.x2006.main.CTFtnEdn note)` Add an endnote to the document
    `void` | `addEndnote(XWPFEndnote endnote)` add an `XWPFEndnote` to the document
    `protected void` | `commit()` Save the content in the underlying package part.
    `XWPFEndnote` | `createEndnote()` Create a new end note and add it to the document.
    `java.util.List<XWPFEndnote>` | `getEndnotesList()` Get the list of `XWPFEndnote` in the Endnotes part.
    `XWPFEndnote` | `getFootnoteById(int id)` Get the end note with the specified ID, if any.
    `protected void` | `onDocumentRead()` Read document
    `boolean` | `removeEndnote(int pos)` Remove the specified end note if present.
    `boolean` | `removeFootnote(int pos)` Remove the specified footnote if present.
    `void` | `setEndnotes(org.openxmlformats.schemas.wordprocessingml.x2006.main.CTEndnotes endnotes)` Set the end notes for this part.

    - ### Methods inherited from class org.apache.poi.xwpf.usermodel.XWPFAbstractFootnotesEndnotes

      `getIdManager, getXWPFDocument, setIdManager, setXWPFDocument`

    - ### Methods inherited from class org.apache.poi.ooxml.POIXMLDocumentPart

      `_invokeOnDocumentRead, addRelation, createRelationship, createRelationship, createRelationship, getNextPartNumber, getPackagePart, getParent, getRelationById, getRelationId, getRelationPartById, getRelationParts, getRelations, getTargetPart, isCommited, isCommitted, onDocumentCreate, onDocumentRemove, onSave, prepareForCommit, read, rebase, removeRelation, removeRelation, removeRelation, setCommited, setCommitted, toString`

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

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

- - ### Field Detail

    - #### ctEndnotes

          protected org.openxmlformats.schemas.wordprocessingml.x2006.main.CTEndnotes ctEndnotes

  - ### Constructor Detail

    - #### XWPFEndnotes

          public XWPFEndnotes()

    - #### XWPFEndnotes

          public XWPFEndnotes(PackagePart part)

      Construct XWPFEndnotes from a package part
      Parameters:
        `part` - the package part holding the data of the footnotes,
      Since:
        POI 3.14-Beta1

  - ### Method Detail

    - #### setEndnotes

          @Internal
          public void setEndnotes(org.openxmlformats.schemas.wordprocessingml.x2006.main.CTEndnotes endnotes)

      Set the end notes for this part.
      Parameters:
        `endnotes` - The endnotes to be added.

    - #### createEndnote

          public XWPFEndnote createEndnote()

      Create a new end note and add it to the document.
      Returns:
        New XWPFEndnote
      Since:
        4.0.0

    - #### removeFootnote

          public boolean removeFootnote(int pos)

      Remove the specified footnote if present.
      Parameters:
        `pos` -
      Returns:
        True if the footnote was removed.
      Since:
        4.0.0

    - #### onDocumentRead

          protected void onDocumentRead()
                                 throws java.io.IOException

      Read document
      Overrides:
        `onDocumentRead` in class `POIXMLDocumentPart`
      Throws:
        `java.io.IOException` - a subclass may throw an IOException when a document is read

    - #### commit

          protected void commit()
                         throws java.io.IOException

      Description copied from class: `POIXMLDocumentPart`
      Save the content in the underlying package part. Default implementation is empty meaning that the package part is left unmodified.

      Sub-classes should override and add logic to marshal the "model" into Ooxml4J.

      For example, the code saving a generic XML entry may look as follows:

           protected void commit() throws IOException {
             PackagePart part = getPackagePart();
             OutputStream out = part.getOutputStream();
             XmlObject bean = getXmlBean(); //the "model" which holds changes in memory
             bean.save(out, DEFAULT_XML_OPTIONS);
             out.close();
           }

      Overrides:
        `commit` in class `POIXMLDocumentPart`
      Throws:
        `java.io.IOException` - a subclass may throw an IOException if the changes can't be committed

    - #### addEndnote

          public void addEndnote(XWPFEndnote endnote)

      add an `XWPFEndnote` to the document
      Parameters:
        `endnote` -
      Throws:
        `java.io.IOException`

    - #### addEndnote

          @Internal
          public XWPFEndnote addEndnote(org.openxmlformats.schemas.wordprocessingml.x2006.main.CTFtnEdn note)

      Add an endnote to the document
      Parameters:
        `note` - Note to add
      Returns:
        New `XWPFEndnote`
      Throws:
        `java.io.IOException`

    - #### getFootnoteById

          public XWPFEndnote getFootnoteById(int id)

      Get the end note with the specified ID, if any.
      Overrides:
        `getFootnoteById` in class `XWPFAbstractFootnotesEndnotes`
      Parameters:
        `id` - End note ID.
      Returns:
        The end note or null if not found.

    - #### getEndnotesList

          public java.util.List<XWPFEndnote> getEndnotesList()

      Get the list of `XWPFEndnote` in the Endnotes part.
      Returns:
        List, possibly empty, of end notes.

    - #### removeEndnote

          public boolean removeEndnote(int pos)

      Remove the specified end note if present.
      Parameters:
        `pos` - Array position of the endnote to be removed
      Returns:
        True if the end note was removed.
      Since:
        4.0.0

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