Class ChainedLocalRepositoryManager

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

public final class ChainedLocalRepositoryManager extends Object implements org.eclipse.aether.repository.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 Summary Link icon

    Fields
    Modifier and Type
    Field
    Description
    static final String
    When using chained local repository, should be the artifact availability ignored in tail.
    static final boolean
     
  • Constructor Summary Link icon

    Constructors
    Constructor
    Description
    ChainedLocalRepositoryManager(org.eclipse.aether.repository.LocalRepositoryManager head, List<org.eclipse.aether.repository.LocalRepositoryManager> tail, boolean ignoreTailAvailability)
     
    ChainedLocalRepositoryManager(org.eclipse.aether.repository.LocalRepositoryManager head, List<org.eclipse.aether.repository.LocalRepositoryManager> tail, boolean ignoreTailAvailability, int installTarget, int cacheTarget)
    Warning: this is experimental feature of chained, is not recommended to be used/integrated into plain Maven.
    ChainedLocalRepositoryManager(org.eclipse.aether.repository.LocalRepositoryManager head, List<org.eclipse.aether.repository.LocalRepositoryManager> tail, org.eclipse.aether.RepositorySystemSession session)
     
  • Method Summary Link icon

    Modifier and Type
    Method
    Description
    void
    add(org.eclipse.aether.RepositorySystemSession session, org.eclipse.aether.repository.LocalArtifactRegistration request)
     
    void
    add(org.eclipse.aether.RepositorySystemSession session, org.eclipse.aether.repository.LocalMetadataRegistration request)
     
    org.eclipse.aether.repository.LocalArtifactResult
    find(org.eclipse.aether.RepositorySystemSession session, org.eclipse.aether.repository.LocalArtifactRequest request)
     
    org.eclipse.aether.repository.LocalMetadataResult
    find(org.eclipse.aether.RepositorySystemSession session, org.eclipse.aether.repository.LocalMetadataRequest request)
     
    getAbsolutePathForLocalArtifact(org.eclipse.aether.artifact.Artifact artifact)
     
    getAbsolutePathForLocalMetadata(org.eclipse.aether.metadata.Metadata metadata)
     
    getAbsolutePathForRemoteArtifact(org.eclipse.aether.artifact.Artifact artifact, org.eclipse.aether.repository.RemoteRepository repository, String context)
     
    getAbsolutePathForRemoteMetadata(org.eclipse.aether.metadata.Metadata metadata, org.eclipse.aether.repository.RemoteRepository repository, String context)
     
    getPathForLocalArtifact(org.eclipse.aether.artifact.Artifact artifact)
     
    getPathForLocalMetadata(org.eclipse.aether.metadata.Metadata metadata)
     
    getPathForRemoteArtifact(org.eclipse.aether.artifact.Artifact artifact, org.eclipse.aether.repository.RemoteRepository repository, String context)
     
    getPathForRemoteMetadata(org.eclipse.aether.metadata.Metadata metadata, org.eclipse.aether.repository.RemoteRepository repository, String context)
     
    org.eclipse.aether.repository.LocalRepository
     
     

    Methods inherited from class java.lang.Object Link icon

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Field Details Link icon

  • Constructor Details Link icon

    • ChainedLocalRepositoryManager Link icon

      public ChainedLocalRepositoryManager(org.eclipse.aether.repository.LocalRepositoryManager head, List<org.eclipse.aether.repository.LocalRepositoryManager> tail, boolean ignoreTailAvailability)
    • ChainedLocalRepositoryManager Link icon

      public ChainedLocalRepositoryManager(org.eclipse.aether.repository.LocalRepositoryManager head, List<org.eclipse.aether.repository.LocalRepositoryManager> tail, org.eclipse.aether.RepositorySystemSession session)
    • ChainedLocalRepositoryManager Link icon

      public ChainedLocalRepositoryManager(org.eclipse.aether.repository.LocalRepositoryManager head, List<org.eclipse.aether.repository.LocalRepositoryManager> tail, boolean ignoreTailAvailability, int installTarget, int cacheTarget)
      Warning: this is experimental feature of chained, is not recommended to be used/integrated into plain Maven.
      Parameters:
      head - The head LRM
      tail - The tail LRMs
      ignoreTailAvailability - Whether tail availability should be ignored (usually you do want this)
      installTarget - The installation LRM index, integer from 0 to size of tail.
      cacheTarget - The cache LRM index, integer from 0 to size of tail.
      Since:
      2.0.5
  • Method Details Link icon

    • getRepository Link icon

      public org.eclipse.aether.repository.LocalRepository getRepository()
      Specified by:
      getRepository in interface org.eclipse.aether.repository.LocalRepositoryManager
    • getAbsolutePathForLocalArtifact Link icon

      public Path getAbsolutePathForLocalArtifact(org.eclipse.aether.artifact.Artifact artifact)
      Specified by:
      getAbsolutePathForLocalArtifact in interface org.eclipse.aether.repository.LocalRepositoryManager
    • getAbsolutePathForRemoteArtifact Link icon

      public Path getAbsolutePathForRemoteArtifact(org.eclipse.aether.artifact.Artifact artifact, org.eclipse.aether.repository.RemoteRepository repository, String context)
      Specified by:
      getAbsolutePathForRemoteArtifact in interface org.eclipse.aether.repository.LocalRepositoryManager
    • getAbsolutePathForLocalMetadata Link icon

      public Path getAbsolutePathForLocalMetadata(org.eclipse.aether.metadata.Metadata metadata)
      Specified by:
      getAbsolutePathForLocalMetadata in interface org.eclipse.aether.repository.LocalRepositoryManager
    • getAbsolutePathForRemoteMetadata Link icon

      public Path getAbsolutePathForRemoteMetadata(org.eclipse.aether.metadata.Metadata metadata, org.eclipse.aether.repository.RemoteRepository repository, String context)
      Specified by:
      getAbsolutePathForRemoteMetadata in interface org.eclipse.aether.repository.LocalRepositoryManager
    • getPathForLocalArtifact Link icon

      public String getPathForLocalArtifact(org.eclipse.aether.artifact.Artifact artifact)
      Specified by:
      getPathForLocalArtifact in interface org.eclipse.aether.repository.LocalRepositoryManager
    • getPathForRemoteArtifact Link icon

      public String getPathForRemoteArtifact(org.eclipse.aether.artifact.Artifact artifact, org.eclipse.aether.repository.RemoteRepository repository, String context)
      Specified by:
      getPathForRemoteArtifact in interface org.eclipse.aether.repository.LocalRepositoryManager
    • getPathForLocalMetadata Link icon

      public String getPathForLocalMetadata(org.eclipse.aether.metadata.Metadata metadata)
      Specified by:
      getPathForLocalMetadata in interface org.eclipse.aether.repository.LocalRepositoryManager
    • getPathForRemoteMetadata Link icon

      public String getPathForRemoteMetadata(org.eclipse.aether.metadata.Metadata metadata, org.eclipse.aether.repository.RemoteRepository repository, String context)
      Specified by:
      getPathForRemoteMetadata in interface org.eclipse.aether.repository.LocalRepositoryManager
    • find Link icon

      public org.eclipse.aether.repository.LocalArtifactResult find(org.eclipse.aether.RepositorySystemSession session, org.eclipse.aether.repository.LocalArtifactRequest request)
      Specified by:
      find in interface org.eclipse.aether.repository.LocalRepositoryManager
    • add Link icon

      public void add(org.eclipse.aether.RepositorySystemSession session, org.eclipse.aether.repository.LocalArtifactRegistration request)
      Specified by:
      add in interface org.eclipse.aether.repository.LocalRepositoryManager
    • find Link icon

      public org.eclipse.aether.repository.LocalMetadataResult find(org.eclipse.aether.RepositorySystemSession session, org.eclipse.aether.repository.LocalMetadataRequest request)
      Specified by:
      find in interface org.eclipse.aether.repository.LocalRepositoryManager
    • add Link icon

      public void add(org.eclipse.aether.RepositorySystemSession session, org.eclipse.aether.repository.LocalMetadataRegistration request)
      Specified by:
      add in interface org.eclipse.aether.repository.LocalRepositoryManager
    • toString Link icon

      public String toString()
      Overrides:
      toString in class Object