1 /******************************************************************************* 2 * Copyright (c) 2006 IBM Corporation and others. 3 * All rights reserved. This program and the accompanying materials 4 * are made available under the terms of the Eclipse Public License v1.0 5 * which accompanies this distribution, and is available at 6 * http://www.eclipse.org/legal/epl-v10.html 7 * 8 * Contributors: 9 * IBM Corporation - initial API and implementation 10 ******************************************************************************/ 11 12 package org.eclipse.ui.preferences; 13 14 import org.eclipse.core.runtime.IConfigurationElement; 15 import org.eclipse.core.runtime.IPath; 16 import org.eclipse.core.runtime.IStatus; 17 import org.eclipse.ui.internal.preferences.SettingsTransferRegistryReader; 18 19 /** 20 * The SettingsTransfer is the abstract superclass of settings transfers 21 * used when switching workspaces. 22 * @since 3.3 23 * 24 */ 25 public abstract class SettingsTransfer { 26 27 /** 28 * Return the configuration elements for all of the settings 29 * transfers. 30 * @return IConfigurationElement[] 31 */ 32 public static IConfigurationElement[] getSettingsTransfers(){ 33 return (new SettingsTransferRegistryReader()).getSettingTransfers(); 34 } 35 36 /** 37 * Transfer the settings to a workspace rooted at newWorkspacwe 38 * @param newWorkspaceRoot 39 * @return {@link IStatus} the status of the transfer. 40 */ 41 public abstract IStatus transferSettings(IPath newWorkspaceRoot); 42 43 /** 44 * Return the name for the receiver. 45 * @return String 46 */ 47 public abstract String getName() ; 48 49 } 50