Class FileGAVNameMapper

    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.util.concurrent.ConcurrentMap<java.lang.String,​java.nio.file.Path> baseDirs  
      private static java.lang.String LOCK_SUFFIX  
      static java.lang.String NAME  
      private static char SEPARATOR  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      private java.lang.String getPath​(java.nio.file.Path baseDir, Artifact artifact)  
      private java.lang.String getPath​(java.nio.file.Path baseDir, Metadata metadata)  
      java.util.TreeSet<java.lang.String> nameLocks​(RepositorySystemSession session, java.util.Collection<? extends Artifact> artifacts, java.util.Collection<? extends Metadata> metadatas)
      Creates (opaque) names for passed in artifacts and metadata.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • baseDirs

        private final java.util.concurrent.ConcurrentMap<java.lang.String,​java.nio.file.Path> baseDirs
    • Constructor Detail

      • FileGAVNameMapper

        public FileGAVNameMapper()
    • Method Detail

      • nameLocks

        public java.util.TreeSet<java.lang.String> nameLocks​(RepositorySystemSession session,
                                                             java.util.Collection<? extends Artifact> artifacts,
                                                             java.util.Collection<? extends Metadata> metadatas)
        Description copied from interface: NameMapper
        Creates (opaque) names for passed in artifacts and metadata. Returned collection has max size of sum of the passed in artifacts and metadata collections, or less. If an empty collection is returned, there will be no locking happening. Never returns null. The resulting collection MUST BE "stable" (always sorted by same criteria) to avoid deadlocks by acquiring locks in same order, essentially disregarding the order of the input collections.
        Specified by:
        nameLocks in interface NameMapper
      • getPath

        private java.lang.String getPath​(java.nio.file.Path baseDir,
                                         Artifact artifact)
      • getPath

        private java.lang.String getPath​(java.nio.file.Path baseDir,
                                         Metadata metadata)