Package org.apache.poi.openxml4j.opc
Class PackageRelationshipCollection
- java.lang.Object
-
- org.apache.poi.openxml4j.opc.PackageRelationshipCollection
-
- All Implemented Interfaces:
java.lang.Iterable<PackageRelationship>
public final class PackageRelationshipCollection extends java.lang.Object implements java.lang.Iterable<PackageRelationship>
Represents a collection of PackageRelationship elements that are owned by a given PackagePart or the Package.
-
-
Constructor Summary
Constructors Constructor Description PackageRelationshipCollection(OPCPackage container)
Constructor.PackageRelationshipCollection(OPCPackage container, PackagePart part)
Constructor.PackageRelationshipCollection(PackagePart part)
Constructor.PackageRelationshipCollection(PackageRelationshipCollection coll, java.lang.String filter)
Copy constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description PackageRelationship
addRelationship(java.net.URI targetUri, TargetMode targetMode, java.lang.String relationshipType, java.lang.String id)
Add a relationship to the collection.void
addRelationship(PackageRelationship relPart)
Add the specified relationship to the collection.void
clear()
Clear all relationships.PackageRelationship
findExistingInternalRelation(PackagePart packagePart)
PackageRelationship
getRelationship(int index)
Retrieves a relationship by its index in the collection.PackageRelationship
getRelationshipByID(java.lang.String id)
Retrieves a package relationship based on its id.PackageRelationshipCollection
getRelationships(java.lang.String typeFilter)
Retrieves all relations with the specified type.java.util.Iterator<PackageRelationship>
iterator()
Get this collection's iterator.java.util.Iterator<PackageRelationship>
iterator(java.lang.String typeFilter)
Get an iterator of a collection with all relationship with the specified type.void
parseRelationshipsPart(PackagePart relPart)
Parse the relationship part and add all relationship in this collection.void
removeRelationship(java.lang.String id)
Remove a relationship by its ID.int
size()
Get the numbe rof relationships in the collection.java.lang.String
toString()
-
-
-
Constructor Detail
-
PackageRelationshipCollection
public PackageRelationshipCollection(PackageRelationshipCollection coll, java.lang.String filter)
Copy constructor. This collection will contain only elements from the specified collection for which the type is compatible with the specified relationship type filter.- Parameters:
coll
- Collection to import.filter
- Relationship type filter.
-
PackageRelationshipCollection
public PackageRelationshipCollection(OPCPackage container) throws InvalidFormatException
Constructor.- Throws:
InvalidFormatException
-
PackageRelationshipCollection
public PackageRelationshipCollection(PackagePart part) throws InvalidFormatException
Constructor.- Throws:
InvalidFormatException
- Throws if the format of the content part is invalid.InvalidOperationException
- Throws if the specified part is a relationship part.
-
PackageRelationshipCollection
public PackageRelationshipCollection(OPCPackage container, PackagePart part) throws InvalidFormatException
Constructor. Parse the existing package relationship part if one exists.- Parameters:
container
- The parent package.part
- The part that own this relationships collection. If null then this part is considered as the package root.- Throws:
InvalidFormatException
- If an error occurs during the parsing of the relatinships part fo the specified part.
-
-
Method Detail
-
addRelationship
public void addRelationship(PackageRelationship relPart)
Add the specified relationship to the collection.- Parameters:
relPart
- The relationship to add.
-
addRelationship
public PackageRelationship addRelationship(java.net.URI targetUri, TargetMode targetMode, java.lang.String relationshipType, java.lang.String id)
Add a relationship to the collection.- Parameters:
targetUri
- Target URI.targetMode
- The target mode : INTERNAL or EXTERNALrelationshipType
- Relationship type.id
- Relationship ID.- Returns:
- The newly created relationship.
- See Also:
PackageAccess
-
removeRelationship
public void removeRelationship(java.lang.String id)
Remove a relationship by its ID.- Parameters:
id
- The relationship ID to remove.
-
getRelationship
public PackageRelationship getRelationship(int index)
Retrieves a relationship by its index in the collection.- Parameters:
index
- Must be a value between [0-relationships_count-1]
-
getRelationshipByID
public PackageRelationship getRelationshipByID(java.lang.String id)
Retrieves a package relationship based on its id.- Parameters:
id
- ID of the package relationship to retrieve.- Returns:
- The package relationship identified by the specified id.
-
size
public int size()
Get the numbe rof relationships in the collection.
-
parseRelationshipsPart
public void parseRelationshipsPart(PackagePart relPart) throws InvalidFormatException
Parse the relationship part and add all relationship in this collection.- Parameters:
relPart
- The package part to parse.- Throws:
InvalidFormatException
- Throws if the relationship part is invalid.
-
getRelationships
public PackageRelationshipCollection getRelationships(java.lang.String typeFilter)
Retrieves all relations with the specified type.- Parameters:
typeFilter
- Relationship type filter. If null then all relationships are returned.- Returns:
- All relationships of the type specified by the filter.
-
iterator
public java.util.Iterator<PackageRelationship> iterator()
Get this collection's iterator.- Specified by:
iterator
in interfacejava.lang.Iterable<PackageRelationship>
-
iterator
public java.util.Iterator<PackageRelationship> iterator(java.lang.String typeFilter)
Get an iterator of a collection with all relationship with the specified type.- Parameters:
typeFilter
- Type filter.- Returns:
- An iterator to a collection containing all relationships with the specified type contain in this collection.
-
clear
public void clear()
Clear all relationships.
-
findExistingInternalRelation
public PackageRelationship findExistingInternalRelation(PackagePart packagePart)
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-