1 /******************************************************************************* 2 * Copyright (c) 2005 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 package org.eclipse.pde.ui; 12 13 /** 14 * Classes that implement this interface are contributed via the extension point 15 * <code>org.eclipse.pde.ui.pluginContent</code>. The expectation is that 16 * classes also extend JFace Wizard class. This wizard must be used when plug-in 17 * dependencies are to be specified via the Import-Package header of a manifest.mf. 18 * The role of this wizard is to provide additional plug-in content after the 19 * project and the critical plug-in project files have been created. 20 * The wizard is nested in the overall 'New' wizard and can contribute one or 21 * more pages that allow users to configure how this content will be generated. 22 * A typical implementation of this interface would be a template wizard that 23 * populates the plug-in project with content that can be useful right away 24 * (for example, a view or an editor extension). 25 * <p> 26 * Due to the call order of the method <code>performFinish</code> in nested 27 * wizards, classes that implement this interface should not place the code that 28 * generates new content in the implementation of the abstract method 29 * <code>Wizard.performFinish()</code>. Instead, they should simply return 30 * <code>true</code> and have all the real code in <code>performFinish</code> 31 * defined in this interface. This version of the method passes all the context 32 * required for the content generation and is called AFTER the project and vital 33 * plug-in files have been already created. 34 * 35 * @since 3.2 36 */ 37 public interface IBundleContentWizard extends IPluginContentWizard { 38 39 /** 40 * Returns names of packages that are required by this wizard. 41 * This information will be used to compose the Import-Package header of 42 * the manifest.mf being generated, so that the plug-in compiles without 43 * errors in the first build after creation. 44 * 45 * @return an array of package names required by this wizard 46 */ 47 String[] getImportPackages(); 48 49 } 50