All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.eclipse.core.resources.IProjectNature Maven / Gradle / Ivy

The newest version!
/*******************************************************************************
 *  Copyright (c) 2000, 2009 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.core.resources;

import org.eclipse.core.runtime.CoreException;

/**
 * Interface for project nature runtime classes.
 * It can configure a project with the project nature, or de-configure it.
 * When a project is configured with a project nature, this is
 * recorded in the list of project natures on the project.
 * Individual project natures may expose a more specific runtime type,
 * with additional API for manipulating the project in a
 * nature-specific way.
 * 

* Clients may implement this interface. *

* * @see IProject#getNature(String) * @see IProject#hasNature(String) * @see IProjectDescription#getNatureIds() * @see IProjectDescription#hasNature(String) * @see IProjectDescription#setNatureIds(String[]) */ public interface IProjectNature { /** * Configures this nature for its project. This is called by the workspace * when natures are added to the project using IProject.setDescription * and should not be called directly by clients. The nature extension * id is added to the list of natures before this method is called, * and need not be added here. * * Exceptions thrown by this method will be propagated back to the caller * of IProject.setDescription, but the nature will remain in * the project description. * * @exception CoreException if this method fails. */ public void configure() throws CoreException; /** * De-configures this nature for its project. This is called by the workspace * when natures are removed from the project using * IProject.setDescription and should not be called directly by * clients. The nature extension id is removed from the list of natures before * this method is called, and need not be removed here. * * Exceptions thrown by this method will be propagated back to the caller * of IProject.setDescription, but the nature will still be * removed from the project description. * * * @exception CoreException if this method fails. */ public void deconfigure() throws CoreException; /** * Returns the project to which this project nature applies. * * @return the project handle */ public IProject getProject(); /** * Sets the project to which this nature applies. * Used when instantiating this project nature runtime. * This is called by IProject.create() or * IProject.setDescription() * and should not be called directly by clients. * * @param project the project to which this nature applies */ public void setProject(IProject project); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy