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

Modifier and Type
Method
Description
`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 Details

### 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`