Package org.apache.poi.openxml4j.opc
Class PackageRelationshipCollection
- java.lang.Object
-
- org.apache.poi.openxml4j.opc.PackageRelationshipCollection
-
- All Implemented Interfaces:
Iterable<PackageRelationship>
public final class PackageRelationshipCollection extends Object implements 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, String filter)
Copy constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description PackageRelationship
addRelationship(URI targetUri, TargetMode targetMode, String relationshipType, 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(String id)
Retrieves a package relationship based on its id.PackageRelationshipCollection
getRelationships(String typeFilter)
Retrieves all relations with the specified type.Iterator<PackageRelationship>
iterator()
Get this collection's iterator.Iterator<PackageRelationship>
iterator(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(String id)
Remove a relationship by its ID.int
size()
Get the numbe rof relationships in the collection.String
toString()
-
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
-
-
-
Constructor Detail
-
PackageRelationshipCollection
public PackageRelationshipCollection(PackageRelationshipCollection coll, 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(URI targetUri, TargetMode targetMode, String relationshipType, 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(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(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(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 Iterator<PackageRelationship> iterator()
Get this collection's iterator.- Specified by:
iterator
in interfaceIterable<PackageRelationship>
-
iterator
public Iterator<PackageRelationship> iterator(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)
-
-