All Known Implementing Classes:
DiscriminatingNameMapper, FileGAVNameMapper, GAVNameMapper, StaticNameMapper

public interface NameMapper
Component mapping lock names to passed in artifacts and metadata as required.
  • Method Details

    • nameLocks

      Collection<String> nameLocks(RepositorySystemSession session, Collection<? extends Artifact> artifacts, Collection<? extends Metadata> metadatas)
      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.