blob: 490dec772ad0196b7b106b4fe18733f3f75017a4 [file] [log] [blame]
package org.eclipse.update.core;
/*
* (c) Copyright IBM Corp. 2000, 2002.
* All Rights Reserved.
*/
import org.eclipse.core.runtime.CoreException;
/**
* Base implementation of an install handler.
* This is a convenience implementation of an install handler with
* null implementation of its methods. It allows subclasses to selectively
* implement only the methods required for their installation tasks.
* <p>
* This class should be subclassed by clients.
* </p>
* @see org.eclipse.update.core.IInstallHandler
* @since 2.0
*/
public class BaseInstallHandler implements IInstallHandler {
/**
* Update action type
*
* @see IInstallHandler#HANDLER_ACTION_INSTALL
* @see IInstallHandler#HANDLER_ACTION_CONFIGURE
* @see IInstallHandler#HANDLER_ACTION_UNCONFIGURE
* @see IInstallHandler#HANDLER_ACTION_UNINSTALL
* @since 2.0
*/
protected int type;
/**
* The target of the action
* @since 2.0
*/
protected IFeature feature;
/**
* Model entry that defines this handler
*
* @since 2.0
*/
protected IInstallHandlerEntry entry;
/**
* Optional progress monitor, can be <code>null</code>
*
* @since 2.0
*/
protected InstallMonitor monitor;
/**
* Plug-in entries downloaded
*
* @see IInstallHandler#HANDLER_ACTION_INSTALL
* @since 2.0
*/
protected IPluginEntry[] pluginEntries;
/**
* Non-plug-in entries downloaded
*
* @see IInstallHandler#HANDLER_ACTION_INSTALL
* @since 2.0
*/
protected INonPluginEntry[] nonPluginEntries;
/**
* Indicates if handler has been initialized
*
* @since 2.0
*/
protected boolean initialized = false;
/**
* Initialize the install handler.
*
* @see IInstallHandler#initialize(int, IFeature, IInstallHandlerEntry, InstallMonitor)
* @since 2.0
*/
public void initialize(
int type,
IFeature feature,
IInstallHandlerEntry entry,
InstallMonitor monitor)
throws CoreException {
if (this.initialized)
return;
else {
if (feature == null)
throw new IllegalArgumentException();
this.type = type;
this.feature = feature;
this.entry = entry;
this.monitor = monitor;
this.initialized = true;
}
}
/**
* Called at the start of the install action.
*
* @see IInstallHandler#installInitiated
* @since 2.0
*/
public void installInitiated() throws CoreException {
}
/**
* Called after files corresponding to plug-in entries have been downloaded,
* but before they are actully unpacked and installed.
*
* @see IInstallHandler#pluginsDownloaded(IPluginEntry[])
* @since 2.0
*/
public void pluginsDownloaded(IPluginEntry[] plugins) throws CoreException {
this.pluginEntries = plugins;
}
/**
* Called after files corresponding to non-plug-in entries have been
* downloaded.
*
* @see IInstallHandler#nonPluginDataDownloaded(INonPluginEntry[], IVerificationListener)
* @since 2.0
*/
public void nonPluginDataDownloaded(
INonPluginEntry[] nonPluginData,
IVerificationListener listener)
throws CoreException {
this.nonPluginEntries = nonPluginData;
}
/**
* Called after the feature files and any downloaded plug-ins have
* been installed.
*
* @see IInstallHandler#pluginsInstalled(IFeatureContentConsumer)
* @since 2.0
*/
public void completeInstall(IFeatureContentConsumer consumer)
throws CoreException {
}
/**
* Called at the end of the install action.
*
* @see IInstallHandler#installCompleted(boolean)
* @since 2.0
*/
public void installCompleted(boolean success) throws CoreException {
}
/**
* Called at the start of the configure action.
*
* @see IInstallHandler#configureInitiated()
* @since 2.0
*/
public void configureInitiated() throws CoreException {
}
/**
* Called after the feature has been configured.
*
* @see IInstallHandler#completeConfigure()
* @since 2.0
*/
public void completeConfigure() throws CoreException {
}
/**
* Called at the end of the configure action.
*
* @see IInstallHandler#configureCompleted(boolean)
* @since 2.0
*/
public void configureCompleted(boolean success) throws CoreException {
}
/**
* Called at the start of the unconfigure action.
*
* @see IInstallHandler#unconfigureInitiated()
* @since 2.0
*/
public void unconfigureInitiated() throws CoreException {
}
/**
* Called after the feature has been unconfigured.
*
* @see IInstallHandler#completeUnconfigure()
* @since 2.0
*/
public void completeUnconfigure() throws CoreException {
}
/**
* Called at the end of the unconfigure action.
*
* @see IInstallHandler#unconfigureCompleted(boolean)
* @since 2.0
*/
public void unconfigureCompleted(boolean success) throws CoreException {
}
/**
* Called at the start of the uninstall action.
*
* @see IInstallHandler#uninstallInitiated()
* @since 2.0
*/
public void uninstallInitiated() throws CoreException {
}
/**
* Called after the feature has been uninstalled.
*
* @see IInstallHandler#completeUninstall()
* @since 2.0
*/
public void completeUninstall() throws CoreException {
}
/**
* Called at the end of the uninstall action.
*
* @see IInstallHandler#uninstallCompleted(boolean)
* @since 2.0
*/
public void uninstallCompleted(boolean success) throws CoreException {
}
}