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.
Version:
0.1
Author:
Julien Chable, CDubettier
  • Constructor Details

    • 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 Details

    • 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 EXTERNAL
      relationshipType - Relationship type.
      id - Relationship ID.
      Returns:
      The newly created relationship.
      See Also:
    • 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 interface Iterable<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)
    • toString

      public String toString()
      Overrides:
      toString in class Object