org.apache.poi.xssf.model

## Class MapInfo

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

-     public class MapInfo
      extends POIXMLDocumentPart

  This class implements the Custom XML Mapping Part (Open Office XML Part 1: chapter 12.3.6) An instance of this part type contains a schema for an XML file, and information on the behavior that is used when allowing this custom XML schema to be mapped into the spreadsheet.
  Author:
    Roberto Manicardi

- - ### Nested Class Summary

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

      `POIXMLDocumentPart.RelationPart`

  - ### Constructor Summary

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

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | `commit()` Save the content in the underlying package part.
    `java.util.Collection<XSSFMap>` | `getAllXSSFMaps()`
    `org.openxmlformats.schemas.spreadsheetml.x2006.main.CTMapInfo` | `getCTMapInfo()`
    `org.openxmlformats.schemas.spreadsheetml.x2006.main.CTSchema` | `getCTSchemaById(java.lang.String schemaId)` Gets the
    `XSSFWorkbook` | `getWorkbook()` Returns the parent XSSFWorkbook
    `XSSFMap` | `getXSSFMapById(int id)`
    `XSSFMap` | `getXSSFMapByName(java.lang.String name)`
    `void` | `readFrom(java.io.InputStream is)`
    `protected 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`

- - ### Constructor Detail

    - #### MapInfo

          public MapInfo()

    - #### MapInfo

          public MapInfo(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`

    - #### getWorkbook

          public XSSFWorkbook getWorkbook()

      Returns the parent XSSFWorkbook
      Returns:
        the parent XSSFWorkbook

    - #### getCTMapInfo

          public org.openxmlformats.schemas.spreadsheetml.x2006.main.CTMapInfo getCTMapInfo()

      Returns:
        the internal data object

    - #### getCTSchemaById

          public org.openxmlformats.schemas.spreadsheetml.x2006.main.CTSchema getCTSchemaById(java.lang.String schemaId)

      Gets the
      Parameters:
        `schemaId` - the schema ID
      Returns:
        CTSchema by it's ID

    - #### getXSSFMapById

          public XSSFMap getXSSFMapById(int id)

    - #### getXSSFMapByName

          public XSSFMap getXSSFMapByName(java.lang.String name)

    - #### getAllXSSFMaps

          public java.util.Collection<XSSFMap> getAllXSSFMaps()

      Returns:
        all the mappings configured in this document

    - #### writeTo

          protected 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

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