Eclipse Platform
Release 3.6

org.eclipse.equinox.p2.repository.artifact
Interface IArtifactRepository

All Superinterfaces:
IAdaptable, IQueryable<IArtifactKey>, IRepository<IArtifactKey>
All Known Subinterfaces:
IFileArtifactRepository
All Known Implementing Classes:
AbstractArtifactRepository

public interface IArtifactRepository
extends IRepository<IArtifactKey>

A repository containing artifacts.

This interface is not intended to be implemented by clients. Artifact repository implementations must subclass AbstractArtifactRepository rather than implementing this interface directly.

Since:
2.0
Restriction:
This interface is not intended to be implemented by clients. Instead subclass AbstractArtifactRepository.
Restriction:
This interface is not intended to be extended by clients.

Field Summary
static int CODE_RETRY
          The return code to use when a client could/should retry a failed getArtifact() operation.
 
Fields inherited from interface org.eclipse.equinox.p2.repository.IRepository
ENABLED, NONE, PREFERENCE_NODE, PROP_COMPRESSED, PROP_DESCRIPTION, PROP_MIRRORS_BASE_URL, PROP_MIRRORS_URL, PROP_NAME, PROP_NICKNAME, PROP_PASSWORD, PROP_SYSTEM, PROP_TIMESTAMP, PROP_USERNAME, TYPE_ARTIFACT, TYPE_METADATA
 
Method Summary
 void addDescriptor(IArtifactDescriptor descriptor)
          Add the given descriptor to the set of descriptors in this repository.
 void addDescriptors(IArtifactDescriptor[] descriptors)
          Add the given artifact descriptors to this repository
 boolean contains(IArtifactDescriptor descriptor)
          Returns true if this repository contains the given descriptor.
 boolean contains(IArtifactKey key)
          Returns true if this repository contains the given artifact key.
 IArtifactDescriptor createArtifactDescriptor(IArtifactKey key)
          Create an instance of IArtifactDescriptor based on the given key
 IArtifactKey createArtifactKey(String classifier, String id, Version version)
          Create an instance of IArtifactKey
 IQueryable<IArtifactDescriptor> descriptorQueryable()
          Returns a queryable that can be queried for artifact descriptors contained in this repository
 IStatus executeBatch(IRunnableWithProgress runnable, IProgressMonitor monitor)
          Executes a runnable against this repository.
 IStatus getArtifact(IArtifactDescriptor descriptor, OutputStream destination, IProgressMonitor monitor)
          Writes to the given output stream the bytes represented by the artifact descriptor.
 IArtifactDescriptor[] getArtifactDescriptors(IArtifactKey key)
          Return the set of artifact descriptors describing the ways that this repository can supply the artifact associated with the given artifact key
 IStatus getArtifacts(IArtifactRequest[] requests, IProgressMonitor monitor)
          Executes the given artifact requests on this byte server.
 OutputStream getOutputStream(IArtifactDescriptor descriptor)
          Open an output stream to which a client can write the data for the given artifact descriptor.
 IStatus getRawArtifact(IArtifactDescriptor descriptor, OutputStream destination, IProgressMonitor monitor)
          Writes to the given output stream the bytes represented by the artifact descriptor.
 void removeAll()
          Remove the all keys, descriptors, and contents from this repository.
 void removeDescriptor(IArtifactDescriptor descriptor)
          Remove the given descriptor and its corresponding content in this repository.
 void removeDescriptor(IArtifactKey key)
          Remove the given key and all related content and descriptors from this repository.
 
Methods inherited from interface org.eclipse.equinox.p2.repository.IRepository
getDescription, getLocation, getName, getProperties, getProperty, getProvider, getProvisioningAgent, getType, getVersion, isModifiable, setProperty
 
Methods inherited from interface org.eclipse.core.runtime.IAdaptable
getAdapter
 
Methods inherited from interface org.eclipse.equinox.p2.query.IQueryable
query
 

Field Detail

CODE_RETRY

static final int CODE_RETRY
The return code to use when a client could/should retry a failed getArtifact() operation. For example, the repository may have additional mirrors that could be consulted.

See Also:
Constant Field Values
Method Detail

createArtifactDescriptor

IArtifactDescriptor createArtifactDescriptor(IArtifactKey key)
Create an instance of IArtifactDescriptor based on the given key

Parameters:
key - IArtifactKey
Returns:
a new instanceof of IArtifactDescriptor

createArtifactKey

IArtifactKey createArtifactKey(String classifier,
                               String id,
                               Version version)
Create an instance of IArtifactKey

Parameters:
classifier -
id -
version -
Returns:
a new IArtifactKey

addDescriptor

void addDescriptor(IArtifactDescriptor descriptor)
Add the given descriptor to the set of descriptors in this repository. This is a relatively low-level operation that should be used only when the actual related content is in this repository and the given descriptor accurately describes that content.

Parameters:
descriptor - the descriptor to add.

addDescriptors

void addDescriptors(IArtifactDescriptor[] descriptors)
Add the given artifact descriptors to this repository

Parameters:
descriptors - the artifact descriptors to add

contains

boolean contains(IArtifactDescriptor descriptor)
Returns true if this repository contains the given descriptor.

Parameters:
descriptor - the descriptor to query
Returns:
true if the given descriptor is already in this repository

contains

boolean contains(IArtifactKey key)
Returns true if this repository contains the given artifact key.

Parameters:
key - the key to query
Returns:
true if the given key is already in this repository

getArtifact

IStatus getArtifact(IArtifactDescriptor descriptor,
                    OutputStream destination,
                    IProgressMonitor monitor)
Writes to the given output stream the bytes represented by the artifact descriptor. Any processing steps defined by the descriptor will be applied to the artifact bytes before they are sent to the provided output stream.

Parameters:
descriptor - the descriptor to transfer
destination - the stream to write the final artifact output to
monitor - a progress monitor, or null if progress reporting and cancellation are not desired
Returns:
the result of the artifact transfer

getRawArtifact

IStatus getRawArtifact(IArtifactDescriptor descriptor,
                       OutputStream destination,
                       IProgressMonitor monitor)
Writes to the given output stream the bytes represented by the artifact descriptor. Any processing steps defined by the descriptor will not be applied to the artifact bytes.

Parameters:
descriptor - the descriptor to transfer
destination - the stream to write the final artifact output to
monitor - a progress monitor, or null if progress reporting and cancellation are not desired
Returns:
the result of the artifact transfer

getArtifactDescriptors

IArtifactDescriptor[] getArtifactDescriptors(IArtifactKey key)
Return the set of artifact descriptors describing the ways that this repository can supply the artifact associated with the given artifact key

Parameters:
key - the artifact key to lookup
Returns:
the descriptors associated with the given key

getArtifacts

IStatus getArtifacts(IArtifactRequest[] requests,
                     IProgressMonitor monitor)
Executes the given artifact requests on this byte server.

Parameters:
requests - The artifact requests
monitor -
Returns:
a status object that is OK if requests were processed successfully. Otherwise, a status indicating information, warnings, or errors that occurred while executing the artifact requests

getOutputStream

OutputStream getOutputStream(IArtifactDescriptor descriptor)
                             throws ProvisionException
Open an output stream to which a client can write the data for the given artifact descriptor.

Parameters:
descriptor - the descriptor describing the artifact data to be written to the resultant stream
Returns:
the stream to which the artifact content can be written. The returned output stream may implement IStateful.
Throws:
ProvisionException - if the output stream could not be created. Reasons include:

descriptorQueryable

IQueryable<IArtifactDescriptor> descriptorQueryable()
Returns a queryable that can be queried for artifact descriptors contained in this repository

Returns:
The queryable of artifact descriptors

removeAll

void removeAll()
Remove the all keys, descriptors, and contents from this repository.


removeDescriptor

void removeDescriptor(IArtifactDescriptor descriptor)
Remove the given descriptor and its corresponding content in this repository.

Parameters:
descriptor - the descriptor to remove.

removeDescriptor

void removeDescriptor(IArtifactKey key)
Remove the given key and all related content and descriptors from this repository.

Parameters:
key - the key to remove.

executeBatch

IStatus executeBatch(IRunnableWithProgress runnable,
                     IProgressMonitor monitor)
Executes a runnable against this repository. It is up to the repository implementor to determine what "batch process" means, for example, it may mean that the repository index is not stored until after the runnable completes. The runnable should not execute anything in a separate thread.

Parameters:
runnable - The runnable to execute
monitor - A progress monitor that will be passed to the runnable
Returns:
The result of running the runnable. Any exceptions thrown during the execution will be returned in the status.

Eclipse Platform
Release 3.6

Guidelines for using Eclipse APIs.

Copyright (c) Eclipse contributors and others 2000, 2010. All rights reserved.