org.eclipse.aether.impl

## Interface RemoteRepositoryManager

- All Known Implementing Classes:
    DefaultRemoteRepositoryManager

      public interface RemoteRepositoryManager

  Helps dealing with remote repository definitions.
  Restriction:
    This interface is not intended to be extended by clients.
  Restriction:
    This interface is not intended to be implemented by clients.
  Provisional:
    This type is provisional and can be changed, moved or removed without prior notice.

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `List<RemoteRepository>` | `aggregateRepositories(RepositorySystemSession session, List<RemoteRepository> dominantRepositories, List<RemoteRepository> recessiveRepositories, boolean recessiveIsRaw)` Aggregates repository definitions by merging duplicate repositories and optionally applies mirror, proxy and authentication settings from the supplied session.
    `RepositoryPolicy` | `getPolicy(RepositorySystemSession session, RemoteRepository repository, boolean releases, boolean snapshots)` Gets the effective repository policy for the specified remote repository by merging the applicable snapshot/release policy of the repository with global settings from the supplied session.

- - ### Method Detail

    - #### aggregateRepositories

          List<RemoteRepository> aggregateRepositories(RepositorySystemSession session,
                                                     List<RemoteRepository> dominantRepositories,
                                                     List<RemoteRepository> recessiveRepositories,
                                                     boolean recessiveIsRaw)

      Aggregates repository definitions by merging duplicate repositories and optionally applies mirror, proxy and authentication settings from the supplied session.
      Parameters:
        `session` - The repository session during which the repositories will be accessed, must not be `null`.
        `dominantRepositories` - The current list of remote repositories to merge the new definitions into, must not be `null`.
        `recessiveRepositories` - The remote repositories to merge into the existing list, must not be `null`.
        `recessiveIsRaw` - `true` if the recessive repository definitions have not yet been subjected to mirror, proxy and authentication settings, `false` otherwise.
      Returns:
        The aggregated list of remote repositories, never `null`.
      See Also:
        `RepositorySystemSession.getMirrorSelector()`, `RepositorySystemSession.getProxySelector()`, `RepositorySystemSession.getAuthenticationSelector()`

    - #### getPolicy

          RepositoryPolicy getPolicy(RepositorySystemSession session,
                                   RemoteRepository repository,
                                   boolean releases,
                                   boolean snapshots)

      Gets the effective repository policy for the specified remote repository by merging the applicable snapshot/release policy of the repository with global settings from the supplied session.
      Parameters:
        `session` - The repository session during which the repository will be accessed, must not be `null`.
        `repository` - The remote repository to determine the effective policy for, must not be `null`.
        `releases` - `true` if the policy for release artifacts needs to be considered, `false` if not.
        `snapshots` - `true` if the policy for snapshot artifacts needs to be considered, `false` if not.
      Returns:
        The effective repository policy, never `null`.
      See Also:
        `RepositorySystemSession.getChecksumPolicy()`, `RepositorySystemSession.getUpdatePolicy()`

Copyright © 2010-2014 The Eclipse Foundation. All Rights Reserved.