# Package org.eclipse.aether.impl

The provisional interfaces defining the various sub components that implement the repository system.

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  ArtifactDescriptorReader |
  ArtifactResolver |
  DependencyCollector | This collector fulfills the contract of `RepositorySystem.collectDependencies(RepositorySystemSession, CollectRequest)`.
  Deployer |
  Installer |
  LocalRepositoryProvider | Retrieves a local repository manager from the installed local repository manager factories.
  MetadataGenerator | A metadata generator that participates in the installation/deployment of artifacts.
  MetadataGeneratorFactory | A factory to create metadata generators.
  MetadataResolver |
  OfflineController | Determines whether a remote repository is accessible in offline mode.
  RemoteRepositoryManager |
  RepositoryConnectorProvider | Retrieves a repository connector from the installed repository connector factories.
  RepositoryEventDispatcher | Dispatches repository events to registered listeners.
  SyncContextFactory | A factory to create synchronization contexts.
  UpdateCheckManager | Determines if updates of artifacts and metadata from remote repositories are needed.
  UpdatePolicyAnalyzer | Evaluates update policies.
  VersionRangeResolver |
  VersionResolver |

- Class Summary
  Class | Description
  --- | ---
  AetherModule | A ready-made Guice module that sets up bindings for all components from this library.
  DefaultServiceLocator | A simple service locator that is already setup with all components from this library.
  DefaultServiceLocator.ErrorHandler | A hook to customize the handling of errors encountered while locating a service implementation.
  UpdateCheck<T,E extends RepositoryException> | A request to check if an update of an artifact/metadata from a remote repository is needed.

## Package org.eclipse.aether.impl Description

The provisional interfaces defining the various sub components that implement the repository system. Aether Core provides stock implementations for most of these components but not all. To obtain a complete/runnable repository system, the application needs to provide implementations of the following component contracts: `ArtifactDescriptorReader`, `VersionResolver`, `VersionRangeResolver` and potentially `MetadataGeneratorFactory`. Said components basically define the file format of the metadata that is used to reason about an artifact's dependencies and available versions.

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