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

    • FOLLOW_REPOSITORY_REFERENCES

      public static final String FOLLOW_REPOSITORY_REFERENCES
      Instructs the provisioning context to follow metadata repository references when providing queryables for obtaining metadata and artifacts. When this property is set to "true", then metadata repository references that are encountered while loading the specified metadata repositories will be included in the provisioning context.
      See Also:
  • 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:
    • 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