Interface IArtifactRepository
- All Superinterfaces:
IAdaptable
,IQueryable<IArtifactKey>
,IRepository<IArtifactKey>
- All Known Subinterfaces:
IFileArtifactRepository
- All Known Implementing Classes:
AbstractArtifactRepository
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
Modifier and TypeFieldDescriptionstatic final int
The return code to use when a client could/should retry a failed getArtifact() operation.static final String
The key for a boolean indicating if the repository is in runnable format.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
Modifier and TypeMethodDescriptionvoid
addDescriptor
(IArtifactDescriptor descriptor) Deprecated.void
addDescriptor
(IArtifactDescriptor descriptor, IProgressMonitor monitor) Add the given descriptor to the set of descriptors in this repository.void
addDescriptors
(IArtifactDescriptor[] descriptors) Deprecated.void
addDescriptors
(IArtifactDescriptor[] descriptors, IProgressMonitor monitor) Add the given artifact descriptors to this repositoryboolean
contains
(IArtifactKey key) Returns true if this repository contains the given artifact key.boolean
contains
(IArtifactDescriptor descriptor) Returns true if this repository contains the given descriptor.Create an instance ofIArtifactDescriptor
based on the given keycreateArtifactKey
(String classifier, String id, Version version) Create an instance ofIArtifactKey
Returns a queryable that can be queried for artifact descriptors contained in this repositoryexecuteBatch
(IRunnableWithProgress runnable, IProgressMonitor monitor) Executes a runnable against this repository.getArtifact
(IArtifactDescriptor descriptor, OutputStream destination, IProgressMonitor monitor) Writes to the given output stream the bytes represented by the artifact descriptor.Return the set of artifact descriptors describing the ways that this repository can supply the artifact associated with the given artifact keygetArtifacts
(IArtifactRequest[] requests, IProgressMonitor monitor) Executes the given artifact requests on this byte server.getOutputStream
(IArtifactDescriptor descriptor) Open an output stream to which a client can write the data for the given artifact descriptor.getRawArtifact
(IArtifactDescriptor descriptor, OutputStream destination, IProgressMonitor monitor) Writes to the given output stream the bytes represented by the artifact descriptor.void
Deprecated.void
removeAll
(IProgressMonitor monitor) Remove the all keys, descriptors, and contents from this repository.void
Deprecated.void
removeDescriptor
(IArtifactKey key, IProgressMonitor monitor) Remove the given key and all related content and descriptors from this repository.void
removeDescriptor
(IArtifactDescriptor descriptor) Deprecated.void
removeDescriptor
(IArtifactDescriptor descriptor, IProgressMonitor monitor) Remove the given descriptor and its corresponding content in this repository.void
removeDescriptors
(IArtifactKey[] keys) Deprecated.void
removeDescriptors
(IArtifactKey[] keys, IProgressMonitor monitor) Remove the given list of keys and all related content and descriptors from this repository.void
removeDescriptors
(IArtifactDescriptor[] descriptors) Deprecated.void
removeDescriptors
(IArtifactDescriptor[] descriptors, IProgressMonitor monitor) Remove the given list of artifact descriptors and their corresponding content in this repository.Methods inherited from interface org.eclipse.core.runtime.IAdaptable
getAdapter
Methods inherited from interface org.eclipse.equinox.p2.query.IQueryable
query
Methods inherited from interface org.eclipse.equinox.p2.repository.IRepository
getDescription, getLocation, getName, getProperties, getProperty, getProvider, getProvisioningAgent, getType, getVersion, isModifiable, setProperty, setProperty
-
Field Details
-
PROP_RUNNABLE
The key for a boolean indicating if the repository is in runnable format.- Since:
- 2.3
- See Also:
-
CODE_RETRY
static final int CODE_RETRYThe 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:
-
-
Method Details
-
createArtifactDescriptor
Create an instance ofIArtifactDescriptor
based on the given key- Parameters:
key
-IArtifactKey
- Returns:
- a new instance of IArtifactDescriptor
-
createArtifactKey
Create an instance ofIArtifactKey
- Parameters:
classifier
- The classifier for this artifact key.id
- The id for this artifact key.version
- The version for this artifact key.- Returns:
- a new IArtifactKey
-
addDescriptor
Deprecated.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.
-
addDescriptor
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.monitor
- A progress monitor use to track progress and cancel the operation. This may be a long running operation if another process holds the lock on this location- Since:
- 2.1
-
addDescriptors
Deprecated.Add the given artifact descriptors to this repository- Parameters:
descriptors
- the artifact descriptors to add
-
addDescriptors
Add the given artifact descriptors to this repository- Parameters:
descriptors
- the artifact descriptors to addmonitor
- A progress monitor use to track progress and cancel the operation. This may be a long running operation if another process holds the lock on this location- Since:
- 2.1
-
contains
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
Returns true if this repository contains the given artifact key.- Specified by:
contains
in interfaceIQueryable<IArtifactKey>
- Specified by:
contains
in interfaceIRepository<IArtifactKey>
- 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 transferdestination
- the stream to write the final artifact output tomonitor
- a progress monitor, ornull
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 transferdestination
- the stream to write the final artifact output tomonitor
- a progress monitor, ornull
if progress reporting and cancellation are not desired- Returns:
- the result of the artifact transfer
-
getArtifactDescriptors
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
Executes the given artifact requests on this byte server.- Parameters:
requests
- The artifact requestsmonitor
- A progress monitor use to track progress and cancel the operation.- 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
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:- An I/O exception occurred (@link
ProvisionException.REPOSITORY_FAILED_WRITE
) . - An artifact already exists at that location (
ProvisionException.ARTIFACT_EXISTS
).
- An I/O exception occurred (@link
-
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
Deprecated.Remove the all keys, descriptors, and contents from this repository. -
removeAll
Remove the all keys, descriptors, and contents from this repository.- Parameters:
monitor
- A progress monitor use to track progress and cancel the operation. This may be a long running operation if another process holds the lock on this location- Since:
- 2.1
-
removeDescriptor
Deprecated.Remove the given descriptor and its corresponding content in this repository.- Parameters:
descriptor
- the descriptor to remove.
-
removeDescriptor
Remove the given descriptor and its corresponding content in this repository.- Parameters:
descriptor
- the descriptor to remove.monitor
- A progress monitor use to track progress and cancel the operation. This may be a long running operation if another process holds the lock on this location- Since:
- 2.1
-
removeDescriptor
Deprecated.Remove the given key and all related content and descriptors from this repository.- Parameters:
key
- the key to remove.
-
removeDescriptor
Remove the given key and all related content and descriptors from this repository.- Parameters:
key
- the key to remove.monitor
- A progress monitor use to track progress and cancel the operation. This may be a long running operation if another process holds the lock on this location- Since:
- 2.1
-
removeDescriptors
Deprecated.Remove the given list of artifact descriptors and their corresponding content in this repository.- Parameters:
descriptors
- the list of descriptors to remove- Since:
- 2.1
-
removeDescriptors
Remove the given list of artifact descriptors and their corresponding content in this repository.- Parameters:
descriptors
- the list of descriptors to removemonitor
- A progress monitor use to track progress and cancel the operation. This may be a long running operation if another process holds the lock on this location- Since:
- 2.1
-
removeDescriptors
Deprecated.Remove the given list of keys and all related content and descriptors from this repository.- Parameters:
keys
- The keys to remove.- Since:
- 2.1
-
removeDescriptors
Remove the given list of keys and all related content and descriptors from this repository.- Parameters:
keys
- The keys to remove.monitor
- A progress monitor use to track progress and cancel the operation. This may be a long running operation if another process holds the lock on this location- Since:
- 2.1
-
executeBatch
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 executemonitor
- 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.
-
addDescriptor(IArtifactDescriptor, IProgressMonitor)