Package org.eclipse.equinox.p2.repository.artifact

## Interface IArtifactRequest

    public interface IArtifactRequest

Represents a request to transfer an artifact from an artifact repository. When the request is executed against a repository, it will be executed and the result of the execution will become available.

Since:
  2.0
See Also:
  `IArtifactRepositoryManager.createMirrorRequest(IArtifactKey, IArtifactRepository, java.util.Map, java.util.Map)`, `IArtifactRepository.getArtifacts(IArtifactRequest[], IProgressMonitor)`
Restriction:
  This interface is not intended to be implemented by clients.

### Method Summary

All Methods Instance Methods Abstract Methods
`IArtifactKey` `getArtifactKey()` Returns the key for the artifact that is being requested
`IStatus` `getResult()` Returns the result of the executed artifact request, or `null` if the request has never been executed.
`void` `perform​(IArtifactRepository sourceRepository, IProgressMonitor monitor)` Performs the artifact request, and sets the result status.

### Method Detail

#### getArtifactKey

    IArtifactKey getArtifactKey()

Returns the key for the artifact that is being requested

Returns:
  The requested artifact key

#### perform

    void perform​(IArtifactRepository sourceRepository,
                 IProgressMonitor monitor)

Performs the artifact request, and sets the result status.

Parameters:
  `sourceRepository` - the repository to download the artifact from
  `monitor` - a progress monitor, or `null` if progress reporting is not desired

#### getResult

    IStatus getResult()

Returns the result of the executed artifact request, or `null` if the request has never been executed. Artifact requests are executed by invoking `IArtifactRepository.getArtifacts(IArtifactRequest[], IProgressMonitor)`.

Returns:
  The result of the previous perform call, or `null`