org.apache.poi
Class POIXMLFactory

java.lang.Object
  extended by org.apache.poi.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
POIXMLFactory()
           
 
Method Summary
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 visibility
 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

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 instantiated
classes - the classes of the constructor arguments
values - the values of the constructor arguments
Returns:
the new document / part
Throws:
java.lang.SecurityException - thrown if the object can't be instantiated
java.lang.NoSuchMethodException - thrown if there is no constructor found for the given arguments
java.lang.InstantiationException - thrown if the object can't be instantiated
java.lang.IllegalAccessException - thrown if the object can't be instantiated
java.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 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