Package org.apache.poi.ooxml
Class POIXMLDocument
- java.lang.Object
-
- org.apache.poi.ooxml.POIXMLDocumentPart
-
- org.apache.poi.ooxml.POIXMLDocument
-
- All Implemented Interfaces:
Closeable,AutoCloseable
- Direct Known Subclasses:
XMLSlideShow,XmlVisioDocument,XSLFSlideShow,XSSFWorkbook,XWPFDocument
public abstract class POIXMLDocument extends POIXMLDocumentPart implements Closeable
This holds the common functionality for all POI OOXML Document classes.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.poi.ooxml.POIXMLDocumentPart
POIXMLDocumentPart.RelationPart
-
-
Field Summary
Fields Modifier and Type Field Description static StringDOCUMENT_CREATORstatic StringOLE_OBJECT_REL_TYPEstatic StringPACK_OBJECT_REL_TYPE
-
Constructor Summary
Constructors Modifier Constructor Description protectedPOIXMLDocument(OPCPackage pkg)protectedPOIXMLDocument(OPCPackage pkg, String coreDocumentRel)
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidclose()Closes the underlyingOPCPackagefrom which this document was read, if there is oneabstract List<PackagePart>getAllEmbeddedParts()Get the document's embedded files.protected PackagePartgetCorePart()OPCPackagegetPackage()Get the assigned OPCPackagePOIXMLPropertiesgetProperties()Get the document properties.protected PackagePart[]getRelatedByType(String contentType)Retrieves all the PackageParts which are defined as relationships of the base document with the specified content type.protected voidload(POIXMLFactory factory)static OPCPackageopenPackage(String path)Wrapper to open a package, which works around shortcomings in java's this() constructor callsvoidwrite(OutputStream stream)Write out this document to anOutputStream.-
Methods inherited from class org.apache.poi.ooxml.POIXMLDocumentPart
_invokeOnDocumentRead, addRelation, commit, createRelationship, createRelationship, createRelationship, getNextPartNumber, getPackagePart, getParent, getRelationById, getRelationId, getRelationPartById, getRelationParts, getRelations, getTargetPart, isCommitted, onDocumentCreate, onDocumentRead, onDocumentRemove, onSave, prepareForCommit, read, rebase, removeRelation, removeRelation, removeRelation, setCommitted, toString
-
-
-
-
Field Detail
-
DOCUMENT_CREATOR
public static final String DOCUMENT_CREATOR
- See Also:
- Constant Field Values
-
OLE_OBJECT_REL_TYPE
public static final String OLE_OBJECT_REL_TYPE
- See Also:
- Constant Field Values
-
PACK_OBJECT_REL_TYPE
public static final String PACK_OBJECT_REL_TYPE
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
POIXMLDocument
protected POIXMLDocument(OPCPackage pkg)
-
POIXMLDocument
protected POIXMLDocument(OPCPackage pkg, String coreDocumentRel)
-
-
Method Detail
-
openPackage
public static OPCPackage openPackage(String path) throws IOException
Wrapper to open a package, which works around shortcomings in java's this() constructor calls- Parameters:
path- the path to the document- Returns:
- the new OPCPackage
- Throws:
IOException- if there was a problem opening the document
-
getPackage
public OPCPackage getPackage()
Get the assigned OPCPackage- Returns:
- the assigned OPCPackage
-
getCorePart
protected PackagePart getCorePart()
-
getRelatedByType
protected PackagePart[] getRelatedByType(String contentType) throws InvalidFormatException
Retrieves all the PackageParts which are defined as relationships of the base document with the specified content type.- Parameters:
contentType- the content type- Returns:
- all the base document PackageParts which match the content type
- Throws:
InvalidFormatException- when the relationships or the parts contain errors- See Also:
XSSFRelation,XSLFRelation,XWPFRelation,XDGFRelation
-
getProperties
public POIXMLProperties getProperties()
Get the document properties. This gives you access to the core ooxml properties, and the extended ooxml properties.- Returns:
- the document properties
-
getAllEmbeddedParts
public abstract List<PackagePart> getAllEmbeddedParts() throws OpenXML4JException
Get the document's embedded files.- Returns:
- the document's embedded files
- Throws:
OpenXML4JException- if the embedded parts can't be determined- Since:
- POI 4.0.0
-
load
protected final void load(POIXMLFactory factory) throws IOException
- Throws:
IOException
-
close
public void close() throws IOExceptionCloses the underlyingOPCPackagefrom which this document was read, if there is oneOnce this has been called, no further operations, updates or reads should be performed on the document.
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Throws:
IOException- for writable packages, if an IO exception occur during the saving process.
-
write
public final void write(OutputStream stream) throws IOException
Write out this document to anOutputStream. Note - if the Document was opened from aFilerather than anInputStream, you must write out to a different file, overwriting via an OutputStream isn't possible. Ifstreamis aFileOutputStreamon a networked drive or has a high cost/latency associated with each written byte, consider wrapping the OutputStream in aBufferedOutputStreamto improve write performance.- Parameters:
stream- - the java OutputStream you wish to write the file to- Throws:
IOException- if anything can't be written.
-
-