blob: 6631528fe142c015408cb69a54b66c86c9bb1a12 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2000, 2005 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.jdt.ui.wizards;
import org.eclipse.jface.wizard.IWizardPage;
import org.eclipse.jdt.core.IClasspathEntry;
/**
* A classpath container page allows the user to create a new or edit an
* existing classpath container entry.
* <p>
* Clients should implement this interface and include the name of their
* class in an extension contributed to the jdt.ui's classpath container page
* extension point (named <code>org.eclipse.jdt.ui.classpathContainerPage
* </code>).
* </p>
* <p>
* Clients implementing this interface may subclass from
* <code>org.eclipse.jface.wizard.WizardPage</code>.
* </p>
* Clients implementing this interface may also implement
* <code>IClasspathContainerPageExtension</code> to get additional context
* before this page is opened.
*
* @since 2.0
*/
public interface IClasspathContainerPage extends IWizardPage {
/**
* Called when the classpath container wizard is closed by selecting
* the finish button. Implementers typically override this method to
* store the page result (new/changed classpath entry returned in
* getSelection) into its model.
*
* @return if the operation was successful. Only when returned
* <code>true</code>, the wizard will close.
*/
public boolean finish();
/**
* Returns the edited or created classpath container entry. This method
* may return <code>null</code> if no classpath container entry exists.
* The returned classpath entry is of kind <code>IClasspathEntry.CPE_CONTAINER
* </code>.
*
* @return the classpath entry edited or created on the page.
*/
public IClasspathEntry getSelection();
/**
* Sets the classpath container entry to be edited or <code>null</code>
* if a new entry should be created.
*
* @param containerEntry the classpath entry to edit or <code>null</code>.
* If not <code>null</code> then the classpath entry must be of
* kind <code>IClasspathEntry.CPE_CONTAINER</code>
*/
public void setSelection(IClasspathEntry containerEntry);
}