## org.apache.ivy.plugins.lock
Class ArtifactLockStrategy

    java.lang.Object
      org.apache.ivy.plugins.lock.AbstractLockStrategy
          org.apache.ivy.plugins.lock.FileBasedLockStrategy
              org.apache.ivy.plugins.lock.ArtifactLockStrategy

All Implemented Interfaces:
  LockStrategy

    public class ArtifactLockStrategy

extends FileBasedLockStrategy

Nested Class Summary

Nested classes/interfaces inherited from class org.apache.ivy.plugins.lock.FileBasedLockStrategy
`FileBasedLockStrategy.CreateFileLocker, FileBasedLockStrategy.FileLocker, FileBasedLockStrategy.NIOFileLocker`

Constructor Summary
`ArtifactLockStrategy()`
`ArtifactLockStrategy(boolean debugLocking)`

Method Summary
`boolean` `lockArtifact(Artifact artifact, java.io.File artifactFileToDownload)` Performs a lock before downloading the given `Artifact` to the given file.
`void` `unlockArtifact(Artifact artifact, java.io.File artifactFileToDownload)` Release the lock acquired for an artifact download.

Methods inherited from class org.apache.ivy.plugins.lock.FileBasedLockStrategy
`acquireLock, releaseLock`

Methods inherited from class org.apache.ivy.plugins.lock.AbstractLockStrategy
`getName, isDebugLocking, setName, toString`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### ArtifactLockStrategy

    public ArtifactLockStrategy()

### ArtifactLockStrategy

    public ArtifactLockStrategy(boolean debugLocking)

Method Detail

### lockArtifact

    public boolean lockArtifact(Artifact artifact,
                                java.io.File artifactFileToDownload)
                         throws java.lang.InterruptedException

  Description copied from interface: `LockStrategy`
  Performs a lock before downloading the given `Artifact` to the given file.

  Parameters:
    `artifact` - the artifact about to be downloaded
    `artifactFileToDownload` - the file where the artifact will be downloaded
  Returns:
    true if the artifact is locked, false otherwise
  Throws:
    `java.lang.InterruptedException` - if the thread is interrupted while waiting to acquire the lock

### unlockArtifact

    public void unlockArtifact(Artifact artifact,
                               java.io.File artifactFileToDownload)

  Description copied from interface: `LockStrategy`
  Release the lock acquired for an artifact download.

  Parameters:
    `artifact` - the artifact for which the lock was acquired
    `artifactFileToDownload` - the file where the artifact is supposed to have been downloaded