Interface ICompositeRepository<T>

Type Parameters:
T - The type of repository content. Typically this is either IInstallableUnit or IArtifactKey.
All Superinterfaces:
IAdaptable, IQueryable<T>, IRepository<T>

public interface ICompositeRepository<T> extends IRepository<T>
A composite repository doesn't directly contain any contents, but rather contains only a list of child repositories. The composite repository aggregates content from the children and acts as a single repository containing the union of all child contents. When a composite repository is queried programmatically, it will appear to contain all elements that currently exist in one or more of its children.
Since:
2.0
Restriction:
This interface is not intended to be implemented by clients.
Restriction:
This interface is not intended to be extended by clients.
  • Method Details

    • addChild

      void addChild(URI child)
      Adds a specified URI to list of child repositories. Does nothing if URI is a duplicate of an existing child repository.
      Parameters:
      child - The child to add.
    • getChildren

      List<URI> getChildren()
      Returns a list of URIs containing the locations of the children repositories
      Returns:
      a list of URIs containing the locations of the children repositories
    • removeAllChildren

      void removeAllChildren()
      Removes all child repositories
    • removeChild

      void removeChild(URI child)
      Removes the specified URI from the list of child repositories. This method has no effect if the specified URI is not a child repository
      Parameters:
      child - The child to remove