org.apache.poi.xssf.model

## Class CommentsTable

- java.lang.Object
- - org.apache.poi.ooxml.POIXMLDocumentPart
  - - org.apache.poi.xssf.model.CommentsTable

- All Implemented Interfaces:
    Comments

      @Internal
      public class CommentsTable
      extends POIXMLDocumentPart
      implements Comments

- - ### 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
    --- | ---
    `static java.lang.String` | `DEFAULT_AUTHOR`
    `static int` | `DEFAULT_AUTHOR_ID`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `CommentsTable()`
    `CommentsTable(PackagePart part)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | `commit()` Save the content in the underlying package part.
    `int` | `findAuthor(java.lang.String author)`
    `XSSFComment` | `findCellComment(CellAddress cellAddress)` Finds the cell comment at cellAddress, if one exists
    `java.lang.String` | `getAuthor(long authorId)`
    `java.util.Iterator<CellAddress>` | `getCellAddresses()` Returns all cell addresses that have comments.
    `java.util.Map<CellAddress,XSSFComment>` | `getCellComments()` Deprecated. use `getCellAddresses` instead
    `org.openxmlformats.schemas.spreadsheetml.x2006.main.CTComment` | `getCTComment(CellAddress cellRef)` Get the underlying CTComment xmlbean for a comment located at cellRef, if it exists
    `org.openxmlformats.schemas.spreadsheetml.x2006.main.CTComments` | `getCTComments()` Returns the underlying CTComments list xmlbean
    `int` | `getNumberOfAuthors()`
    `int` | `getNumberOfComments()`
    `org.openxmlformats.schemas.spreadsheetml.x2006.main.CTComment` | `newComment(CellAddress ref)` Create a new comment located` at cell address
    `void` | `readFrom(java.io.InputStream is)`
    `void` | `referenceUpdated(CellAddress oldReference, org.openxmlformats.schemas.spreadsheetml.x2006.main.CTComment comment)` Called after the reference is updated, so that we can reflect that in our cache
    `boolean` | `removeComment(CellAddress cellRef)` Remove the comment at cellRef location, if one exists
    `void` | `writeTo(java.io.OutputStream out)`

    - ### 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, onDocumentRead, 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

    - #### DEFAULT_AUTHOR

          public static final java.lang.String DEFAULT_AUTHOR

      See Also:
        Constant Field Values

    - #### DEFAULT_AUTHOR_ID

          public static final int DEFAULT_AUTHOR_ID

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### CommentsTable

          public CommentsTable()

    - #### CommentsTable

          public CommentsTable(PackagePart part)
                        throws java.io.IOException

      Throws:
        `java.io.IOException`
      Since:
        POI 3.14-Beta1

  - ### Method Detail

    - #### readFrom

          public void readFrom(java.io.InputStream is)
                        throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeTo

          public void writeTo(java.io.OutputStream out)
                       throws java.io.IOException

      Throws:
        `java.io.IOException`

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

    - #### referenceUpdated

          public void referenceUpdated(CellAddress oldReference,
                                       org.openxmlformats.schemas.spreadsheetml.x2006.main.CTComment comment)

      Called after the reference is updated, so that we can reflect that in our cache
      Parameters:
        `oldReference` - the comment to remove from the commentRefs map
        `comment` - the comment to replace in the commentRefs map

    - #### getNumberOfComments

          public int getNumberOfComments()

      Specified by:
        `getNumberOfComments` in interface `Comments`

    - #### getNumberOfAuthors

          public int getNumberOfAuthors()

      Specified by:
        `getNumberOfAuthors` in interface `Comments`

    - #### getAuthor

          public java.lang.String getAuthor(long authorId)

      Specified by:
        `getAuthor` in interface `Comments`

    - #### findAuthor

          public int findAuthor(java.lang.String author)

      Specified by:
        `findAuthor` in interface `Comments`

    - #### findCellComment

          public XSSFComment findCellComment(CellAddress cellAddress)

      Finds the cell comment at cellAddress, if one exists
      Specified by:
        `findCellComment` in interface `Comments`
      Parameters:
        `cellAddress` - the address of the cell to find a comment
      Returns:
        cell comment if one exists, otherwise returns null

    - #### getCTComment

          @Internal
          public org.openxmlformats.schemas.spreadsheetml.x2006.main.CTComment getCTComment(CellAddress cellRef)

      Get the underlying CTComment xmlbean for a comment located at cellRef, if it exists
      Parameters:
        `cellRef` - the location of the cell comment
      Returns:
        CTComment xmlbean if comment exists, otherwise return null.

    - #### getCellAddresses

          public java.util.Iterator<CellAddress> getCellAddresses()

      Returns all cell addresses that have comments.
      Specified by:
        `getCellAddresses` in interface `Comments`
      Returns:
        An iterator to traverse all cell addresses that have comments.
      Since:
        4.0.0

    - #### getCellComments

          @Removal(version="4.2")
           @Deprecated
          public java.util.Map<CellAddress,XSSFComment> getCellComments()

      Deprecated. use `getCellAddresses` instead
      Returns all cell comments on this sheet.
      Returns:
        A map of each Comment in this sheet, keyed on the cell address where the comment is located.

    - #### newComment

          @Internal
          public org.openxmlformats.schemas.spreadsheetml.x2006.main.CTComment newComment(CellAddress ref)

      Create a new comment located` at cell address
      Parameters:
        `ref` - the location to add the comment
      Returns:
        a new CTComment located at ref with default author

    - #### removeComment

          public boolean removeComment(CellAddress cellRef)

      Remove the comment at cellRef location, if one exists
      Specified by:
        `removeComment` in interface `Comments`
      Parameters:
        `cellRef` - the location of the comment to remove
      Returns:
        returns true if a comment was removed

    - #### getCTComments

          @Internal
          public org.openxmlformats.schemas.spreadsheetml.x2006.main.CTComments getCTComments()

      Returns the underlying CTComments list xmlbean
      Returns:
        underlying comments list xmlbean

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