Class ChainedLocalRepositoryManager

  • All Implemented Interfaces:
    org.eclipse.aether.repository.LocalRepositoryManager

    public final class ChainedLocalRepositoryManager
    extends java.lang.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
    • Constructor Summary

      Constructors 
      Constructor Description
      ChainedLocalRepositoryManager​(org.eclipse.aether.repository.LocalRepositoryManager head, java.util.List<org.eclipse.aether.repository.LocalRepositoryManager> tail, boolean ignoreTailAvailability)  
      ChainedLocalRepositoryManager​(org.eclipse.aether.repository.LocalRepositoryManager head, java.util.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, java.util.List<org.eclipse.aether.repository.LocalRepositoryManager> tail, org.eclipse.aether.RepositorySystemSession session)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      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)  
      java.nio.file.Path getAbsolutePathForLocalArtifact​(org.eclipse.aether.artifact.Artifact artifact)  
      java.nio.file.Path getAbsolutePathForLocalMetadata​(org.eclipse.aether.metadata.Metadata metadata)  
      java.nio.file.Path getAbsolutePathForRemoteArtifact​(org.eclipse.aether.artifact.Artifact artifact, org.eclipse.aether.repository.RemoteRepository repository, java.lang.String context)  
      java.nio.file.Path getAbsolutePathForRemoteMetadata​(org.eclipse.aether.metadata.Metadata metadata, org.eclipse.aether.repository.RemoteRepository repository, java.lang.String context)  
      java.lang.String getPathForLocalArtifact​(org.eclipse.aether.artifact.Artifact artifact)  
      java.lang.String getPathForLocalMetadata​(org.eclipse.aether.metadata.Metadata metadata)  
      java.lang.String getPathForRemoteArtifact​(org.eclipse.aether.artifact.Artifact artifact, org.eclipse.aether.repository.RemoteRepository repository, java.lang.String context)  
      java.lang.String getPathForRemoteMetadata​(org.eclipse.aether.metadata.Metadata metadata, org.eclipse.aether.repository.RemoteRepository repository, java.lang.String context)  
      org.eclipse.aether.repository.LocalRepository getRepository()  
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • ChainedLocalRepositoryManager

        public ChainedLocalRepositoryManager​(org.eclipse.aether.repository.LocalRepositoryManager head,
                                             java.util.List<org.eclipse.aether.repository.LocalRepositoryManager> tail,
                                             boolean ignoreTailAvailability)
      • ChainedLocalRepositoryManager

        public ChainedLocalRepositoryManager​(org.eclipse.aether.repository.LocalRepositoryManager head,
                                             java.util.List<org.eclipse.aether.repository.LocalRepositoryManager> tail,
                                             org.eclipse.aether.RepositorySystemSession session)
      • ChainedLocalRepositoryManager

        public ChainedLocalRepositoryManager​(org.eclipse.aether.repository.LocalRepositoryManager head,
                                             java.util.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 Detail

      • getRepository

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

        public java.nio.file.Path getAbsolutePathForLocalArtifact​(org.eclipse.aether.artifact.Artifact artifact)
        Specified by:
        getAbsolutePathForLocalArtifact in interface org.eclipse.aether.repository.LocalRepositoryManager
      • getAbsolutePathForRemoteArtifact

        public java.nio.file.Path getAbsolutePathForRemoteArtifact​(org.eclipse.aether.artifact.Artifact artifact,
                                                                   org.eclipse.aether.repository.RemoteRepository repository,
                                                                   java.lang.String context)
        Specified by:
        getAbsolutePathForRemoteArtifact in interface org.eclipse.aether.repository.LocalRepositoryManager
      • getAbsolutePathForLocalMetadata

        public java.nio.file.Path getAbsolutePathForLocalMetadata​(org.eclipse.aether.metadata.Metadata metadata)
        Specified by:
        getAbsolutePathForLocalMetadata in interface org.eclipse.aether.repository.LocalRepositoryManager
      • getAbsolutePathForRemoteMetadata

        public java.nio.file.Path getAbsolutePathForRemoteMetadata​(org.eclipse.aether.metadata.Metadata metadata,
                                                                   org.eclipse.aether.repository.RemoteRepository repository,
                                                                   java.lang.String context)
        Specified by:
        getAbsolutePathForRemoteMetadata in interface org.eclipse.aether.repository.LocalRepositoryManager
      • getPathForLocalArtifact

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

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

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

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

        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

        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

        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

        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

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object