1 /******************************************************************************* 2 * Copyright (c) 2000, 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 package org.eclipse.pde.internal.ui.wizards; 12 import org.eclipse.core.resources.IProject; 13 import org.eclipse.core.runtime.IPath; 14 /** 15 * This interface is used to insulate the client's wizards from the master 16 * wizard that is responsible for creating the new project. Clients use this 17 * interface to ask for the new project's name (without forcing the project 18 * creation) and the project handle itself. Content wizards can use the project 19 * name to construct default values for other name properties before the project 20 * resource is being created. 21 */ 22 public interface IProjectProvider { 23 /** 24 * Returns the new plug-in project handle. This method will cause project 25 * creation if not created already. 26 * 27 * @return the handle of the new plug-in project 28 */ 29 IProject getProject(); 30 /** 31 * Returns the name of the plug-in project that will be created. This method 32 * can be called at any time without forcing the project resource creation. 33 * 34 * @return new project name 35 */ 36 String getProjectName(); 37 /** 38 * Returns an absolute path of the new plug-in project that will be created. 39 * This method can be called at any time without forcing the project 40 * resource creation. 41 * 42 * @return absolute project location path 43 */ 44 IPath getLocationPath(); 45 } 46