Class 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 Detail

      • 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:
        getMetadata(IProgressMonitor), setMetadataRepositories(URI[]), Constant Field Values
    • Constructor Detail

      • 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 Detail

      • 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:
        setArtifactRepositories(URI[])
      • 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:
        setArtifactRepositories(URI[])
      • 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:
        setArtifactRepositories(URI[])
      • 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:
        setMetadataRepositories(URI[]), FOLLOW_REPOSITORY_REFERENCES
      • 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