Interface IMetadataRepository
-
- All Superinterfaces:
IAdaptable
,IQueryable<IInstallableUnit>
,IRepository<IInstallableUnit>
- All Known Implementing Classes:
AbstractMetadataRepository
public interface IMetadataRepository extends IRepository<IInstallableUnit>
A metadata repository stores information about a set of installable unitsThis interface is not intended to be implemented by clients. Metadata repository implementations must subclass
AbstractMetadataRepository
rather than implementing this interface directly.- Since:
- 2.0
- Restriction:
- This interface is not intended to be implemented by clients. Instead subclass
AbstractMetadataRepository
-
-
Field Summary
-
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
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
addInstallableUnits(Collection<IInstallableUnit> installableUnits)
Add the given installable units to this repository.void
addReferences(Collection<? extends IRepositoryReference> references)
Adds references to another repository to this repository.void
compress(IPool<IInstallableUnit> iuPool)
Cause semantically equivalent IInstallableUnits in the receiver to be replaced with a shared object from the providedIPool
.IStatus
executeBatch(IRunnableWithProgress runnable, IProgressMonitor monitor)
Executes a runnable against this repository.Collection<IRepositoryReference>
getReferences()
Returns the repositories that this repository is referencing.void
removeAll()
Remove all installable units from this repository.boolean
removeInstallableUnits(Collection<IInstallableUnit> installableUnits)
Removes all installable units in the given collection from 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
-
-
-
-
Method Detail
-
addInstallableUnits
void addInstallableUnits(Collection<IInstallableUnit> installableUnits)
Add the given installable units to this repository.- Parameters:
installableUnits
- the installable units to add
-
addReferences
void addReferences(Collection<? extends IRepositoryReference> references)
Adds references to another repository to this repository. When a repository is loaded by
IMetadataRepositoryManager
, its references are automatically added to the repository manager's set of known repositories.Note that this method does not add the contents of the given repositories to this repository, but merely adds the location of other repositories to the metadata of this repository.
- Parameters:
references
- The references to add
-
getReferences
Collection<IRepositoryReference> getReferences()
Returns the repositories that this repository is referencing.- Returns:
- An immutable collection of repository references, possibly empty but never
null
.
-
removeInstallableUnits
boolean removeInstallableUnits(Collection<IInstallableUnit> installableUnits)
Removes all installable units in the given collection from this repository.- Parameters:
installableUnits
- the installable units to remove- Returns:
true
if any units were actually removed, andfalse
otherwise
-
removeAll
void removeAll()
Remove all installable units from this repository.
-
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 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.
-
compress
void compress(IPool<IInstallableUnit> iuPool)
Cause semantically equivalent IInstallableUnits in the receiver to be replaced with a shared object from the providedIPool
. New objects are added to theIPool
as required.While the
IPool
should be retained to increase the scope of sharing when callingcompress(IPool)
on subsequent repositories, theIPool
can be discarded without adversely effecting the receiver.- Since:
- 2.1
-
-