Class ChainedLocalRepositoryManager

java.lang.Object
org.eclipse.aether.util.repository.ChainedLocalRepositoryManager
All Implemented Interfaces:
LocalRepositoryManager

public final class ChainedLocalRepositoryManager extends Object implements LocalRepositoryManager
A local repository manager that chains multiple local repository managers: it directs all the write operations to chain head, while uses tail for find(RepositorySystemSession, LocalArtifactRequest) and find(RepositorySystemSession, LocalMetadataRequest) methods only. Hence, tail is used in resolving metadata and artifacts with or without (configurable) artifact availability tracking.

Implementation represents itself using the head local repository manager.

Since:
1.9.2
  • Field Details

  • Constructor Details

  • Method Details

    • getRepository

      Description copied from interface: LocalRepositoryManager
      Gets the description of the local repository being managed.
      Specified by:
      getRepository in interface LocalRepositoryManager
      Returns:
      The description of the local repository, never null.
    • getAbsolutePathForLocalArtifact

      Description copied from interface: LocalRepositoryManager
      Gets the absolute path for a locally installed artifact. Note that the artifact need not actually exist yet at the returned location, the path merely indicates where the artifact would eventually be stored.
      Specified by:
      getAbsolutePathForLocalArtifact in interface LocalRepositoryManager
      Parameters:
      artifact - The artifact for which to determine the path, must not be null.
      Returns:
      The path, relative to the local repository's base directory.
    • getAbsolutePathForRemoteArtifact

      public Path getAbsolutePathForRemoteArtifact(Artifact artifact, RemoteRepository repository, String context)
      Description copied from interface: LocalRepositoryManager
      Gets the absolute path for an artifact cached from a remote repository. Note that the artifact need not actually exist yet at the returned location, the path merely indicates where the artifact would eventually be stored.
      Specified by:
      getAbsolutePathForRemoteArtifact in interface LocalRepositoryManager
      Parameters:
      artifact - The artifact for which to determine the path, must not be null.
      repository - The source repository of the artifact, must not be null.
      context - The resolution context in which the artifact is being requested, may be null.
      Returns:
      The path, relative to the local repository's base directory.
    • getAbsolutePathForLocalMetadata

      Description copied from interface: LocalRepositoryManager
      Gets the absolute path for locally installed metadata. Note that the metadata need not actually exist yet at the returned location, the path merely indicates where the metadata would eventually be stored.
      Specified by:
      getAbsolutePathForLocalMetadata in interface LocalRepositoryManager
      Parameters:
      metadata - The metadata for which to determine the path, must not be null.
      Returns:
      The path, relative to the local repository's base directory.
    • getAbsolutePathForRemoteMetadata

      public Path getAbsolutePathForRemoteMetadata(Metadata metadata, RemoteRepository repository, String context)
      Description copied from interface: LocalRepositoryManager
      Gets the absolute path for metadata cached from a remote repository. Note that the metadata need not actually exist yet at the returned location, the path merely indicates where the metadata would eventually be stored.
      Specified by:
      getAbsolutePathForRemoteMetadata in interface LocalRepositoryManager
      Parameters:
      metadata - The metadata for which to determine the path, must not be null.
      repository - The source repository of the metadata, must not be null.
      context - The resolution context in which the metadata is being requested, may be null.
      Returns:
      The path, relative to the local repository's base directory.
    • getPathForLocalArtifact

      Description copied from interface: LocalRepositoryManager
      Gets the relative path for a locally installed artifact. Note that the artifact need not actually exist yet at the returned location, the path merely indicates where the artifact would eventually be stored. The path uses the forward slash as directory separator regardless of the underlying file system.
      Specified by:
      getPathForLocalArtifact in interface LocalRepositoryManager
      Parameters:
      artifact - The artifact for which to determine the path, must not be null.
      Returns:
      The path, relative to the local repository's base directory.
    • getPathForRemoteArtifact

      public String getPathForRemoteArtifact(Artifact artifact, RemoteRepository repository, String context)
      Description copied from interface: LocalRepositoryManager
      Gets the relative path for an artifact cached from a remote repository. Note that the artifact need not actually exist yet at the returned location, the path merely indicates where the artifact would eventually be stored. The path uses the forward slash as directory separator regardless of the underlying file system.
      Specified by:
      getPathForRemoteArtifact in interface LocalRepositoryManager
      Parameters:
      artifact - The artifact for which to determine the path, must not be null.
      repository - The source repository of the artifact, must not be null.
      context - The resolution context in which the artifact is being requested, may be null.
      Returns:
      The path, relative to the local repository's base directory.
    • getPathForLocalMetadata

      Description copied from interface: LocalRepositoryManager
      Gets the relative path for locally installed metadata. Note that the metadata need not actually exist yet at the returned location, the path merely indicates where the metadata would eventually be stored. The path uses the forward slash as directory separator regardless of the underlying file system.
      Specified by:
      getPathForLocalMetadata in interface LocalRepositoryManager
      Parameters:
      metadata - The metadata for which to determine the path, must not be null.
      Returns:
      The path, relative to the local repository's base directory.
    • getPathForRemoteMetadata

      public String getPathForRemoteMetadata(Metadata metadata, RemoteRepository repository, String context)
      Description copied from interface: LocalRepositoryManager
      Gets the relative path for metadata cached from a remote repository. Note that the metadata need not actually exist yet at the returned location, the path merely indicates where the metadata would eventually be stored. The path uses the forward slash as directory separator regardless of the underlying file system.
      Specified by:
      getPathForRemoteMetadata in interface LocalRepositoryManager
      Parameters:
      metadata - The metadata for which to determine the path, must not be null.
      repository - The source repository of the metadata, must not be null.
      context - The resolution context in which the metadata is being requested, may be null.
      Returns:
      The path, relative to the local repository's base directory.
    • find

      Description copied from interface: LocalRepositoryManager
      Queries for the existence of an artifact in the local repository. The request could be satisfied by a locally installed artifact or a previously downloaded artifact.
      Specified by:
      find in interface LocalRepositoryManager
      Parameters:
      session - The repository system session during which the request is made, must not be null.
      request - The artifact request, must not be null.
      Returns:
      The result of the request, never null.
    • add

      public void add(RepositorySystemSession session, LocalArtifactRegistration request)
      Description copied from interface: LocalRepositoryManager
      Registers an installed or resolved artifact with the local repository. Note that artifact registration is merely concerned about updating the local repository's internal state, not about actually installing the artifact or its accompanying metadata.
      Specified by:
      add in interface LocalRepositoryManager
      Parameters:
      session - The repository system session during which the registration is made, must not be null.
      request - The registration request, must not be null.
    • find

      Description copied from interface: LocalRepositoryManager
      Queries for the existence of metadata in the local repository. The request could be satisfied by locally installed or previously downloaded metadata.
      Specified by:
      find in interface LocalRepositoryManager
      Parameters:
      session - The repository system session during which the request is made, must not be null.
      request - The metadata request, must not be null.
      Returns:
      The result of the request, never null.
    • add

      public void add(RepositorySystemSession session, LocalMetadataRegistration request)
      Description copied from interface: LocalRepositoryManager
      Registers installed or resolved metadata with the local repository. Note that metadata registration is merely concerned about updating the local repository's internal state, not about actually installing the metadata. However, this method MUST be called after the actual install to give the repository manager the opportunity to inspect the added metadata.
      Specified by:
      add in interface LocalRepositoryManager
      Parameters:
      session - The repository system session during which the registration is made, must not be null.
      request - The registration request, must not be null.
    • toString

      public String toString()
      Overrides:
      toString in class Object