Class ProvisioningContext

java.lang.Object
org.eclipse.equinox.p2.engine.ProvisioningContext

public class ProvisioningContext extends Object
A provisioning context defines the scope in which a provisioning operation occurs. A context can be used to specify the set of repositories available to the planner and engine as they perform provisioning work.
Since:
2.0
  • Field Details

  • Constructor Details

    • ProvisioningContext

      public ProvisioningContext(IProvisioningAgent agent)
      Creates a new provisioning context that includes all available metadata and artifact repositories available to the specified provisioning agent.
      Parameters:
      agent - the provisioning agent from which to obtain any necessary services.
  • Method Details

    • getArtifactKeys

      public IQueryable<IArtifactKey> getArtifactKeys(IProgressMonitor monitor)
      Returns a queryable that can be used to obtain any artifact keys that are needed for the provisioning operation.
      Parameters:
      monitor - a progress monitor to be used when creating the queryable
      Returns:
      a queryable that can be used to query available artifact keys.
      See Also:
    • getArtifactDescriptors

      public IQueryable<IArtifactDescriptor> getArtifactDescriptors(IProgressMonitor monitor)
      Returns a queryable that can be used to obtain any artifact descriptors that are needed for the provisioning operation.
      Parameters:
      monitor - a progress monitor to be used when creating the queryable
      Returns:
      a queryable that can be used to query available artifact descriptors.
      See Also:
    • getArtifactRepositories

      public IQueryable<IArtifactRepository> getArtifactRepositories(IProgressMonitor monitor)
      Returns a queryable that can be used to obtain any artifact repositories that are needed for the provisioning operation.
      Parameters:
      monitor - a progress monitor to be used when creating the queryable
      Returns:
      a queryable that can be used to query available artifact repositories.
      See Also:
    • getMetadata

      public IQueryable<IInstallableUnit> getMetadata(IProgressMonitor monitor)
      Returns a queryable that can be used to obtain any metadata (installable units) that are needed for the provisioning operation. The provisioning context has a distinct lifecycle, whereby the metadata and artifact repositories to be used are determined when the client retrieves retrieves the metadata queryable. Clients should not reset the list of metadata repository locations or artifact repository locations once the metadata queryable has been retrieved.
      Parameters:
      monitor - a progress monitor to be used when creating the queryable
      Returns:
      a queryable that can be used to query available metadata.
      See Also:
    • getInstallableUnitSources

      public Map<URI,Set<IInstallableUnit>> getInstallableUnitSources(Collection<? extends IInstallableUnit> ius, IProgressMonitor monitor)
      Returns a map from simple metadata repository location to a subset of the given installable units available in that repository. All available metadata repositories are considered, including all transitive composite children and all IMetadataRepository.getReferences() where applicable.
      Parameters:
      ius - the installable units to consider.
      monitor - a progress monitor to be used when querying the repositories.
      Returns:
      a map from simple metadata repository location to a subset of the given installable units available in that repository.
      Since:
      2.8
    • getArtifactSources

      public Map<URI,Set<IArtifactKey>> getArtifactSources(Collection<? extends IArtifactKey> keys, IProgressMonitor monitor)
      Returns a map from simple artifact repository location to a subset of the given artifact keys available in that repository. All available artifacts repositories are considered, including all transitive composite children and all IMetadataRepository.getReferences() where applicable.
      Parameters:
      keys - the artifact keys to consider.
      monitor - a progress monitor to be used when querying the repositories.
      Returns:
      a map from simple artifact repository location to a subset of the given artifact keys available in that repository.
      Since:
      2.8
    • getExtraInstallableUnits

      public List<IInstallableUnit> getExtraInstallableUnits()
      Returns the list of additional installable units that should be considered as available for installation by the planner. Returns an empty list if there are no extra installable units to consider. This method has no effect on the execution of the engine.
      Returns:
      The extra installable units that are available
    • getProperties

      public Map<String,String> getProperties()
      Returns the properties that are defined in this context. Context properties can be used to influence the behavior of either the planner or engine.
      Returns:
      the defined provisioning context properties
    • getProperty

      public String getProperty(String key)
      Returns the value of the property with the given key, or null if no such property is defined
      Parameters:
      key - the property key
      Returns:
      the property value, or null
    • setArtifactRepositories

      public void setArtifactRepositories(URI... artifactRepositories)
      Sets the artifact repositories to consult when performing an operation.

      The provisioning context has a distinct lifecycle, whereby the metadata and artifact repositories to be used are determined when the client retrieves the metadata queryable. Clients should not reset the list of artifact repository locations once the metadata queryable has been retrieved.

      Parameters:
      artifactRepositories - the artifact repository locations
    • setMetadataRepositories

      public void setMetadataRepositories(URI... metadataRepositories)
      Sets the metadata repositories to consult when performing an operation.

      The provisioning context has a distinct lifecycle, whereby the metadata and artifact repositories to be used are determined when the client retrieves the metadata queryable. Clients should not reset the list of metadata repository locations once the metadata queryable has been retrieved.

      Parameters:
      metadataRepositories - the metadata repository locations
    • setExtraInstallableUnits

      public void setExtraInstallableUnits(List<IInstallableUnit> extraIUs)
      Sets the list of additional installable units that should be considered as available for installation by the planner. This method has no effect on the execution of the engine.
      Parameters:
      extraIUs - the extra installable units
    • setProperty

      public void setProperty(String key, String value)
      Sets a property on this provisioning context. Context properties can be used to influence the behavior of either the planner or engine.
      Parameters:
      key - the property key
      value - the property value
    • toString

      public String toString()
      Overrides:
      toString in class Object