Package 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 ofPOIXMLDocumentPart
-
-
Constructor Summary
Constructors Constructor Description POIXMLFactory()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract POIXMLDocumentPart
createDocumentPart(java.lang.Class<? extends POIXMLDocumentPart> cls, java.lang.Class<?>[] classes, java.lang.Object[] values)
Need to delegate instantiation to sub class because of constructor visibilityPOIXMLDocumentPart
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 typeprotected PackageRelationship
getPackageRelationship(POIXMLDocumentPart parent, PackagePart part)
Retrieves the package relationship of the child part within the parentPOIXMLDocumentPart
newDocumentPart(POIXMLRelation descriptor)
Create a new POIXMLDocumentPart using the supplied descriptor.
-
-
-
Method Detail
-
createDocumentPart
public POIXMLDocumentPart createDocumentPart(POIXMLDocumentPart parent, PackagePart part)
Create a POIXMLDocumentPart from existing package part and relation. This method is called fromPOIXMLDocument.load(POIXMLFactory)
when parsing a document- Parameters:
parent
- parent partpart
- the PackagePart representing the created instance- Returns:
- A new instance of a POIXMLDocumentPart.
- Since:
- by POI 3.14-Beta1
-
createDocumentPart
protected abstract POIXMLDocumentPart createDocumentPart(java.lang.Class<? extends POIXMLDocumentPart> cls, java.lang.Class<?>[] classes, java.lang.Object[] values) throws java.lang.SecurityException, java.lang.NoSuchMethodException, java.lang.InstantiationException, java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException
Need to delegate instantiation to sub class because of constructor visibility- Parameters:
cls
- the document class to be instantiatedclasses
- the classes of the constructor argumentsvalues
- the values of the constructor arguments- Returns:
- the new document / part
- Throws:
java.lang.SecurityException
- thrown if the object can't be instantiatedjava.lang.NoSuchMethodException
- thrown if there is no constructor found for the given argumentsjava.lang.InstantiationException
- thrown if the object can't be instantiatedjava.lang.IllegalAccessException
- thrown if the object can't be instantiatedjava.lang.reflect.InvocationTargetException
- thrown if the object can't be instantiated- Since:
- 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 partpart
- 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
-
-