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 Detail

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