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.ObjectDefines 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 POIXMLDocumentPartcreateDocumentPart(java.lang.Class<? extends POIXMLDocumentPart> cls, java.lang.Class<?>[] classes, java.lang.Object[] values)Need to delegate instantiation to sub class because of constructor visibilityPOIXMLDocumentPartcreateDocumentPart(POIXMLDocumentPart parent, PackagePart part)Create a POIXMLDocumentPart from existing package part and relation.protected abstract POIXMLRelationgetDescriptor(java.lang.String relationshipType)returns the descriptor for the given relationship typeprotected PackageRelationshipgetPackageRelationship(POIXMLDocumentPart parent, PackagePart part)Retrieves the package relationship of the child part within the parentPOIXMLDocumentPartnewDocumentPart(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
-
-