org.apache.poi.ooxml

## Class POIXMLFactory

- java.lang.Object
- - org.apache.poi.ooxml.POIXMLFactory

- Direct Known Subclasses:
    XDGFFactory, XSLFFactory, XSSFFactory, XWPFFactory

      public abstract class POIXMLFactory
      extends java.lang.Object

  Defines a factory API that enables sub-classes to create instances of `POIXMLDocumentPart`

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `POIXMLFactory()`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `POIXMLDocumentPart` | `createDocumentPart(POIXMLDocumentPart parent, PackagePart part)` Create a POIXMLDocumentPart from existing package part and relation.
    `protected abstract POIXMLRelation` | `getDescriptor(java.lang.String relationshipType)` returns the descriptor for the given relationship type
    `protected PackageRelationship` | `getPackageRelationship(POIXMLDocumentPart parent, PackagePart part)` Retrieves the package relationship of the child part within the parent
    `POIXMLDocumentPart` | `newDocumentPart(POIXMLRelation descriptor)` Create a new POIXMLDocumentPart using the supplied descriptor.

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

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

- - ### Constructor Detail

    - #### POIXMLFactory

          public POIXMLFactory()

  - ### Method Detail

    - #### createDocumentPart

          public POIXMLDocumentPart createDocumentPart(POIXMLDocumentPart parent,
                                                       PackagePart part)

      Create a POIXMLDocumentPart from existing package part and relation. This method is called from `POIXMLDocument.load(POIXMLFactory)` when parsing a document
      Parameters:
        `parent` - parent part
        `part` - the PackagePart representing the created instance
      Returns:
        A new instance of a POIXMLDocumentPart.
      Since:
        by POI 3.14-Beta1

    - #### getDescriptor

          protected abstract POIXMLRelation getDescriptor(java.lang.String relationshipType)

      returns the descriptor for the given relationship type
      Parameters:
        `relationshipType` - the relationship type of the descriptor
      Returns:
        the descriptor or null if type is unknown
      Since:
        POI 3.14-Beta1

    - #### newDocumentPart

          public POIXMLDocumentPart newDocumentPart(POIXMLRelation descriptor)

      Create a new POIXMLDocumentPart using the supplied descriptor. This method is used when adding new parts to a document, for example, when adding a sheet to a workbook, slide to a presentation, etc.
      Parameters:
        `descriptor` - describes the object to create
      Returns:
        A new instance of a POIXMLDocumentPart.

    - #### getPackageRelationship

          protected PackageRelationship getPackageRelationship(POIXMLDocumentPart parent,
                                                               PackagePart part)

      Retrieves the package relationship of the child part within the parent
      Parameters:
        `parent` - the parent to search for the part
        `part` - the part to look for
      Returns:
        the relationship
      Throws:
        `POIXMLException` - if the relations are erroneous or the part is not related
      Since:
        POI 3.14-Beta1

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