Class DefaultRepositoryCacheManager

    • Constructor Detail

      • DefaultRepositoryCacheManager

        public DefaultRepositoryCacheManager()
      • DefaultRepositoryCacheManager

        public DefaultRepositoryCacheManager​(java.lang.String name,
                                             IvySettings settings,
                                             java.io.File basedir)
    • Method Detail

      • getIvyFileInCache

        public java.io.File getIvyFileInCache​(ModuleRevisionId mrid)
      • getIvyPattern

        public java.lang.String getIvyPattern()
      • getArtifactPattern

        public java.lang.String getArtifactPattern()
      • setArtifactPattern

        public void setArtifactPattern​(java.lang.String artifactPattern)
      • getBasedir

        public java.io.File getBasedir()
      • setBasedir

        public void setBasedir​(java.io.File cache)
      • getDefaultTTL

        public long getDefaultTTL()
      • setDefaultTTL

        public void setDefaultTTL​(long defaultTTL)
      • setDefaultTTL

        public void setDefaultTTL​(java.lang.String defaultTTL)
      • getDataFilePattern

        public java.lang.String getDataFilePattern()
      • setDataFilePattern

        public void setDataFilePattern​(java.lang.String dataFilePattern)
      • setIvyPattern

        public void setIvyPattern​(java.lang.String ivyPattern)
      • getName

        public java.lang.String getName()
        Description copied from interface: RepositoryCacheManager
        Returns the name of the repository cache manager.
        Specified by:
        getName in interface RepositoryCacheManager
        Returns:
        the name of the repository cache manager.
      • setName

        public void setName​(java.lang.String name)
      • getChangingMatcherName

        public java.lang.String getChangingMatcherName()
      • setChangingMatcher

        public void setChangingMatcher​(java.lang.String changingMatcherName)
      • getChangingPattern

        public java.lang.String getChangingPattern()
      • setChangingPattern

        public void setChangingPattern​(java.lang.String changingPattern)
      • addTTL

        public void addTTL​(java.util.Map<java.lang.String,​java.lang.String> attributes,
                           PatternMatcher matcher,
                           long duration)
      • addConfiguredTtl

        public void addConfiguredTtl​(java.util.Map<java.lang.String,​java.lang.String> attributes)
      • setMemorySize

        public void setMemorySize​(int size)
      • getMemoryCache

        public org.apache.ivy.core.cache.ModuleDescriptorMemoryCache getMemoryCache()
      • isCheckmodified

        public boolean isCheckmodified()
        True if this cache should check lastmodified date to know if ivy files are up to date.
        Returns:
        boolean
      • setCheckmodified

        public void setCheckmodified​(boolean check)
      • isUseOrigin

        public boolean isUseOrigin()
        True if this cache should use artifacts original location when possible, false if they should be copied to cache.
        Returns:
        boolean
      • setUseOrigin

        public void setUseOrigin​(boolean b)
      • getArchiveFileInCache

        public java.io.File getArchiveFileInCache​(Artifact artifact)
        Returns a File object pointing to where the artifact can be found on the local file system. This is usually in the cache, but it can be directly in the repository if it is local and if the resolve has been done with useOrigin = true
        Parameters:
        artifact - Artifact
        Returns:
        File
      • getArchiveFileInCache

        public java.io.File getArchiveFileInCache​(Artifact artifact,
                                                  ArtifactOrigin origin)
        Returns a File object pointing to where the artifact can be found on the local file system. This is usually in the cache, but it can be directly in the repository if it is local and if the resolve has been done with useOrigin = true
        Parameters:
        artifact - Artifact
        origin - ArtifactOrigin
        Returns:
        File
      • getArchivePathInCache

        public java.lang.String getArchivePathInCache​(Artifact artifact)
      • getArchivePathInCache

        public java.lang.String getArchivePathInCache​(Artifact artifact,
                                                      ArtifactOrigin origin)
      • saveResolvers

        public void saveResolvers​(ModuleDescriptor md,
                                  java.lang.String metadataResolverName,
                                  java.lang.String artifactResolverName)
        Saves the information of which resolver was used to resolve a md, so that this info can be retrieve later (even after a jvm restart) by getSavedArtResolverName(ModuleDescriptor md)
        Specified by:
        saveResolvers in interface RepositoryCacheManager
        Parameters:
        md - the module descriptor resolved
        metadataResolverName - metadata resolver name
        artifactResolverName - artifact resolver name
      • findModuleInCache

        public ResolvedModuleRevision findModuleInCache​(DependencyDescriptor dd,
                                                        ModuleRevisionId requestedRevisionId,
                                                        CacheMetadataOptions options,
                                                        java.lang.String expectedResolver)
        Description copied from interface: RepositoryCacheManager
        Search a module descriptor in cache for a mrid
        Specified by:
        findModuleInCache in interface RepositoryCacheManager
        Parameters:
        dd - the dependency descriptor identifying the module to search
        requestedRevisionId - the requested dependency module revision id identifying the module to search
        options - options on how caching should be handled
        expectedResolver - the resolver with which the md in cache must have been resolved to be returned, null if this doesn't matter
        Returns:
        the ResolvedModuleRevision corresponding to the module found, null if none correct has been found in cache
      • getModuleDescriptorParser

        protected ModuleDescriptorParser getModuleDescriptorParser​(java.io.File moduleDescriptorFile)
        Choose write module descriptor parser for a given moduleDescriptor
        Parameters:
        moduleDescriptorFile - a given module descriptor
        Returns:
        ModuleDescriptorParser
      • saveResolvedRevision

        @Deprecated
        public void saveResolvedRevision​(ModuleRevisionId mrid,
                                         java.lang.String revision)
        Deprecated.
        Description copied from interface: RepositoryCacheManager
        Caches a dynamic revision constraint resolution.
        Specified by:
        saveResolvedRevision in interface RepositoryCacheManager
        Parameters:
        mrid - the dynamic module revision id
        revision - the resolved revision
      • saveResolvedRevision

        public void saveResolvedRevision​(java.lang.String resolverName,
                                         ModuleRevisionId mrid,
                                         java.lang.String revision)
        Description copied from interface: RepositoryCacheManager
        Caches a dynamic revision constraint resolution for a specific resolver.
        Specified by:
        saveResolvedRevision in interface RepositoryCacheManager
        Parameters:
        resolverName - the resolver in which this dynamic revision was resolved
        mrid - the dynamic module revision id
        revision - the resolved revision
      • toString

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

        public java.io.File getRepositoryCacheRoot()
      • setLockStrategy

        public void setLockStrategy​(LockStrategy lockStrategy)
      • setLockStrategy

        public void setLockStrategy​(java.lang.String lockStrategyName)
      • downloadRepositoryResource

        public ArtifactDownloadReport downloadRepositoryResource​(Resource resource,
                                                                 java.lang.String name,
                                                                 java.lang.String type,
                                                                 java.lang.String extension,
                                                                 CacheResourceOptions options,
                                                                 Repository repository)
        Description copied from interface: RepositoryCacheManager
        Download some repository resource and put it in the cache.

        If the cached version is considered enough up to date, no downloading is done.

        Specified by:
        downloadRepositoryResource in interface RepositoryCacheManager
        Parameters:
        resource - the resource of the file to put in cache
        name - the descriptive name of the resource (helps while manually looking into the cache files)
        type - the type of the resource (helps while manually looking into the cache files)
        extension - the extension of the resource (helps while manually looking into the cache files)
        options - a set of options to adjust the download
        repository - the repository which resolve the content of the resource
        Returns:
        a report indicating how the download was performed
      • cacheModuleDescriptor

        public ResolvedModuleRevision cacheModuleDescriptor​(DependencyResolver resolver,
                                                            ResolvedResource mdRef,
                                                            DependencyDescriptor dd,
                                                            Artifact moduleArtifact,
                                                            ResourceDownloader downloader,
                                                            CacheMetadataOptions options)
                                                     throws java.text.ParseException
        Description copied from interface: RepositoryCacheManager
        Caches an original module descriptor.

        After this call, the original module descriptor file (with no modification nor conversion) should be available as a local file.

        Specified by:
        cacheModuleDescriptor in interface RepositoryCacheManager
        Parameters:
        resolver - the dependency resolver from which the cache request comes from
        mdRef - a resolved resource pointing to the remote original module descriptor
        dd - the dependency descriptor for which the module descriptor should be cached
        moduleArtifact - the module descriptor artifact as requested originally
        downloader - a ResourceDownloader able to download the original module descriptor resource if required by this cache implementation
        options - options to apply to cache this module descriptor
        Returns:
        a ResolvedModuleRevision representing the local cached module descriptor, or null if it failed
        Throws:
        java.text.ParseException - if an exception occurred while parsing the module descriptor
      • getOriginalMetadataArtifact

        public Artifact getOriginalMetadataArtifact​(Artifact moduleArtifact)
      • dumpSettings

        public void dumpSettings()