Package org.apache.poi.ooxml
Class POIXMLDocumentPart
java.lang.Object
org.apache.poi.ooxml.POIXMLDocumentPart
- Direct Known Subclasses:
CalculationChain,CommentsTable,ExternalLinksTable,MapInfo,POIXMLDocument,SharedStringsTable,SingleXmlCells,StylesTable,ThemesTable,org.apache.poi.xddf.usermodel.chart.XDDFChart,XDGFXMLDocumentPart,XSLFCommentAuthors,XSLFComments,XSLFDiagramDrawing,XSLFFontData,XSLFObjectData,XSLFPictureData,XSLFSheet,XSLFTableStyles,XSLFTheme,XSSFDrawing,XSSFPictureData,XSSFPivotCache,XSSFPivotCacheDefinition,XSSFPivotCacheRecords,XSSFPivotTable,XSSFSheet,XSSFTable,XSSFVBAPart,XSSFVMLDrawing,XWPFAbstractFootnotesEndnotes,XWPFComments,XWPFHeaderFooter,XWPFNumbering,XWPFPictureData,XWPFSettings,XWPFStyles
Represents an entry of a OOXML package.
Each POIXMLDocumentPart keeps a reference to the underlying a PackagePart.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classThe RelationPart is a cached relationship between the document, which contains the RelationPart, and one of its referenced child document parts. -
Constructor Summary
ConstructorsConstructorDescriptionCreates new POIXMLDocumentPart - called by client code to create new parts from scratch.POIXMLDocumentPart(POIXMLDocumentPart parent, PackagePart part) Creates an POIXMLDocumentPart representing the given package part, relationship and parent Called byread(POIXMLFactory, Map)when reading in an existing file.Construct POIXMLDocumentPart representing a "core document" package part.POIXMLDocumentPart(OPCPackage pkg, String coreDocumentRel) Construct POIXMLDocumentPart representing a custom "core document" package part.Creates an POIXMLDocumentPart representing the given package part and relationship. -
Method Summary
Modifier and TypeMethodDescriptionstatic voidDeprecated.addRelation(String relId, POIXMLRelation relationshipType, POIXMLDocumentPart part) Add a new child POIXMLDocumentPartfinal POIXMLDocumentPartcreateRelationship(POIXMLRelation descriptor, POIXMLFactory factory) Create a new child POIXMLDocumentPartfinal POIXMLDocumentPartcreateRelationship(POIXMLRelation descriptor, POIXMLFactory factory, int idx) Create a new child POIXMLDocumentPartcreateRelationship(POIXMLRelation descriptor, POIXMLFactory factory, int idx, boolean noRelation) Create a new child POIXMLDocumentPartfinal intgetNextPartNumber(POIXMLRelation descriptor, int minIdx) Identifies the next available part number for a part of the given type, if possible, otherwise -1 if none are available.final PackagePartProvides access to the underlying PackagePartfinal POIXMLDocumentPartReturns the parent POIXMLDocumentPart.final POIXMLDocumentPartReturns the target POIXMLDocumentPart, where aPackageRelationshipis set from thePackagePartof this POIXMLDocumentPart to thePackagePartof the target POIXMLDocumentPart with aPackageRelationship.getId()matching the given parameter value.final StringReturns the firstPackageRelationship.getId()of thePackageRelationship, that sources from thePackagePartof this POIXMLDocumentPart to thePackagePartof the given parameter value.Returns the targetPOIXMLDocumentPart.RelationPart, where aPackageRelationshipis set from thePackagePartof this POIXMLDocumentPart to thePackagePartof the target POIXMLDocumentPart with aPackageRelationship.getId()matching the given parameter value.Returns the list of child relations for this POIXMLDocumentPartfinal List<POIXMLDocumentPart> Returns the list of child relations for this POIXMLDocumentPartbooleanto check whether embedded part is already committedvoidsetCommitted(boolean isCommitted) setter method to set embedded part is committedtoString()
-
Constructor Details
-
POIXMLDocumentPart
Construct POIXMLDocumentPart representing a "core document" package part.- Parameters:
pkg- the OPCPackage containing this document
-
POIXMLDocumentPart
Construct POIXMLDocumentPart representing a custom "core document" package part.- Parameters:
pkg- the OPCPackage containing this documentcoreDocumentRel- the relation type of this document
-
POIXMLDocumentPart
public POIXMLDocumentPart()Creates new POIXMLDocumentPart - called by client code to create new parts from scratch.- See Also:
-
POIXMLDocumentPart
Creates an POIXMLDocumentPart representing the given package part and relationship. Called byread(POIXMLFactory, Map)when reading in an existing file.- Parameters:
part- - The package part that holds xml data representing this sheet.- Since:
- POI 3.14-Beta1
- See Also:
-
POIXMLDocumentPart
Creates an POIXMLDocumentPart representing the given package part, relationship and parent Called byread(POIXMLFactory, Map)when reading in an existing file.- Parameters:
parent- - Parent partpart- - The package part that holds xml data representing this sheet.- Since:
- POI 3.14-Beta1
- See Also:
-
-
Method Details
-
isCommitted
public boolean isCommitted()to check whether embedded part is already committed- Returns:
- return true if embedded part is committed
- Since:
- 4.1.2
-
setCommitted
public void setCommitted(boolean isCommitted) setter method to set embedded part is committed- Parameters:
isCommitted- boolean value
-
getPackagePart
Provides access to the underlying PackagePart- Returns:
- the underlying PackagePart
-
getRelations
Returns the list of child relations for this POIXMLDocumentPart- Returns:
- child relations
-
getRelationParts
Returns the list of child relations for this POIXMLDocumentPart- Returns:
- child relations
-
getRelationById
Returns the target POIXMLDocumentPart, where aPackageRelationshipis set from thePackagePartof this POIXMLDocumentPart to thePackagePartof the target POIXMLDocumentPart with aPackageRelationship.getId()matching the given parameter value.- Parameters:
id- The relation id to look for- Returns:
- the target part of the relation, or null, if none exists
-
getRelationPartById
Returns the targetPOIXMLDocumentPart.RelationPart, where aPackageRelationshipis set from thePackagePartof this POIXMLDocumentPart to thePackagePartof the target POIXMLDocumentPart with aPackageRelationship.getId()matching the given parameter value.- Parameters:
id- The relation id to look for- Returns:
- the target relation part, or null, if none exists
- Since:
- 4.0.0
-
getRelationId
Returns the firstPackageRelationship.getId()of thePackageRelationship, that sources from thePackagePartof this POIXMLDocumentPart to thePackagePartof the given parameter value.There can be multiple references to the given POIXMLDocumentPart and only the first in the order of creation is returned.
- Parameters:
part- The POIXMLDocumentPart for which the according relation-id shall be found.- Returns:
- The value of the
PackageRelationship.getId()or null, if parts are not related.
-
addRelation
public final POIXMLDocumentPart.RelationPart addRelation(String relId, POIXMLRelation relationshipType, POIXMLDocumentPart part) Add a new child POIXMLDocumentPart- Parameters:
relId- the preferred relation id, when null the next free relation id will be usedrelationshipType- the package relationship typepart- the child to add- Returns:
- the new RelationPart
- Since:
- 3.14-Beta1
-
getParent
Returns the parent POIXMLDocumentPart. All parts except root have not-null parent.- Returns:
- the parent POIXMLDocumentPart or
nullfor the root element.
-
toString
-
createRelationship
public final POIXMLDocumentPart createRelationship(POIXMLRelation descriptor, POIXMLFactory factory) Create a new child POIXMLDocumentPart- Parameters:
descriptor- the part descriptorfactory- the factory that will create an instance of the requested relation- Returns:
- the created child POIXMLDocumentPart
- Throws:
PartAlreadyExistsException- If rule M1.12 is not verified : Packages shall not contain equivalent part names and package implementers shall neither create nor recognize packages with equivalent part names.
-
createRelationship
public final POIXMLDocumentPart createRelationship(POIXMLRelation descriptor, POIXMLFactory factory, int idx) Create a new child POIXMLDocumentPart- Parameters:
descriptor- the part descriptorfactory- the factory that will create an instance of the requested relationidx- part number- Returns:
- the created child POIXMLDocumentPart
- Throws:
PartAlreadyExistsException- If rule M1.12 is not verified : Packages shall not contain equivalent part names and package implementers shall neither create nor recognize packages with equivalent part names.
-
getNextPartNumber
Identifies the next available part number for a part of the given type, if possible, otherwise -1 if none are available. The found (valid) index can then be safely given tocreateRelationship(POIXMLRelation, POIXMLFactory, int)orcreateRelationship(POIXMLRelation, POIXMLFactory, int, boolean)without naming clashes. If parts with other types are already claiming a name for this relationship type (eg aXSSFRelation.CHARTusing the drawing part namespace normally used byXSSFRelation.DRAWINGS), those will be considered when finding the next spare number.- Parameters:
descriptor- The relationship type to find the part number forminIdx- The minimum free index to assign, use -1 for any- Returns:
- The next free part number, or -1 if none available
-
createRelationship
public final POIXMLDocumentPart.RelationPart createRelationship(POIXMLRelation descriptor, POIXMLFactory factory, int idx, boolean noRelation) Create a new child POIXMLDocumentPart- Parameters:
descriptor- the part descriptorfactory- the factory that will create an instance of the requested relationidx- part numbernoRelation- if true, then no relationship is added.- Returns:
- the created child POIXMLDocumentPart
- Throws:
PartAlreadyExistsException- If rule M1.12 is not verified : Packages shall not contain equivalent part names and package implementers shall neither create nor recognize packages with equivalent part names.
-
_invokeOnDocumentRead
@Internal @Deprecated public static void _invokeOnDocumentRead(POIXMLDocumentPart part) throws IOException Deprecated.This method only exists to allow access to protectedonDocumentRead()fromXWPFDocumentwithout reflection. It should be removed.Internal method, do not use!- Parameters:
part- the part which is to be read- Throws:
IOException- if the part can't be read
-
onDocumentRead()fromXWPFDocumentwithout reflection.