Class OperationFactory


  • public class OperationFactory
    extends java.lang.Object
    OperationFactory provides a set of helpers to simplify dealing with the running installation. Among other things, it simplifies the installation, un-installation and update. If the system you are trying to modify is not the running one, you need to directly use the various subclass of ProfileChangeOperation.
    Since:
    2.1
    • Constructor Detail

      • OperationFactory

        public OperationFactory()
    • Method Detail

      • createInstallOperation

        public InstallOperation createInstallOperation​(java.util.Collection<? extends IVersionedId> toInstall,
                                                       java.util.Collection<java.net.URI> repos,
                                                       IProgressMonitor monitor)
                                                throws ProvisionException
        This factory method creates an InstallOperation to install all the elements listed from the specified repositories.
        Parameters:
        toInstall - the elements to install. This can not be null.
        repos - the repositories to install the elements from. If null is passed, it will use all previously registered repositories.
        monitor - the progress monitor
        Returns:
        an operation to install
        Throws:
        ProvisionException
      • createUninstallOperation

        public UninstallOperation createUninstallOperation​(java.util.Collection<? extends IVersionedId> toUninstall,
                                                           java.util.Collection<java.net.URI> repos,
                                                           IProgressMonitor monitor)
                                                    throws ProvisionException
        Create an UninstallOperation that will uninstall the listed elements from the running instance.
        Parameters:
        toUninstall - the elements to uninstall. This can not be null.
        repos - the repositories to install the elements from. If null is passed, it will use all previously registered repositories.
        monitor - the progress monitor
        Returns:
        an operation to uninstall
        Throws:
        ProvisionException
      • listInstalledElements

        public IQueryResult<IInstallableUnit> listInstalledElements​(boolean rootsOnly,
                                                                    IProgressMonitor monitor)
        Returns the IInstallableUnits that are installed in the running instance of Eclipse.
        Parameters:
        rootsOnly - set to true to return only the elements that have been explicitly installed (aka roots).
        monitor - the progress monitor
        Returns:
        the installable units installed, or an empty result if the installation profile of the running system cannot be accessed
      • createUpdateOperation

        public UpdateOperation createUpdateOperation​(java.util.Collection<? extends IVersionedId> toUpdate,
                                                     java.util.Collection<java.net.URI> repos,
                                                     IProgressMonitor monitor)
                                              throws ProvisionException
        Create an UpdateOperation that will update the elements specified.
        Parameters:
        toUpdate - The elements to update.Passing null will result in looking for an update to all the installed. Note that you can pass the results of listInstalledElements(boolean, IProgressMonitor) to this method if you wish to update all elements installed in the running instance of eclipse.
        repos - the repositories to update the elements from. If null is passed, it will use all previously registered repositories.
        monitor - the progress monitor
        Returns:
        an instance of UpdateOperation
        Throws:
        ProvisionException
      • createSynchronizeOperation

        public SynchronizeOperation createSynchronizeOperation​(java.util.Collection<? extends IVersionedId> toInstall,
                                                               java.util.Collection<java.net.URI> repos,
                                                               IProgressMonitor monitor)
                                                        throws ProvisionException
        This factory method creates an SynchronizeOperation that will cause the current installation to exclusively contain the elements listed once executed.
        Parameters:
        toInstall - the elements to install. This can not be null.
        repos - the repositories to install the elements from. If null is passed, it will use all previously registered repositories.
        monitor - the progress monitor
        Returns:
        an instance of SynchronizeOperation.
        Throws:
        ProvisionException