Package org.eclipse.cdt.core

# Class CProjectNature

java.lang.Object
org.eclipse.cdt.core.CProjectNature

All Implemented Interfaces:
  `org.eclipse.core.resources.IProjectNature`

Direct Known Subclasses:
  `CCProjectNature`

public class CProjectNature extends Object implements org.eclipse.core.resources.IProjectNature

Restriction:
  This class is not intended to be subclassed by clients.
Restriction:
  This class is not intended to be instantiated by clients.

## Field Summary

Fields
Modifier and Type
Field
Description
`static final String`
`C_NATURE_ID`

## Constructor Summary

Constructors
Constructor
Description
`CProjectNature()`
`CProjectNature(org.eclipse.core.resources.IProject project)`

## Method Summary

Modifier and Type
Method
Description
`static void`
`addCNature(org.eclipse.core.resources.IProject project, org.eclipse.core.runtime.IProgressMonitor mon)`
`static void`
`addNature(org.eclipse.core.resources.IProject project, String natureId, org.eclipse.core.runtime.IProgressMonitor monitor)`
Utility method for adding a nature to a project.
`void`
`configure()`
`void`
`deconfigure()`
`org.eclipse.core.resources.IProject`
`getProject()`
`static void`
`removeCNature(org.eclipse.core.resources.IProject project, org.eclipse.core.runtime.IProgressMonitor mon)`
`static void`
`removeNature(org.eclipse.core.resources.IProject project, String natureId, org.eclipse.core.runtime.IProgressMonitor monitor)`
Utility method for removing a project nature from a project.
`void`
`setProject(org.eclipse.core.resources.IProject project)`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### C_NATURE_ID

public static final String C_NATURE_ID

See Also:
  - Constant Field Values

## Constructor Details

### CProjectNature

public CProjectNature()

### CProjectNature

public CProjectNature(org.eclipse.core.resources.IProject project)

## Method Details

### addCNature

public static void addCNature(org.eclipse.core.resources.IProject project, org.eclipse.core.runtime.IProgressMonitor mon) throws org.eclipse.core.runtime.CoreException

Throws:
  `org.eclipse.core.runtime.CoreException`

### removeCNature

public static void removeCNature(org.eclipse.core.resources.IProject project, org.eclipse.core.runtime.IProgressMonitor mon) throws org.eclipse.core.runtime.CoreException

Throws:
  `org.eclipse.core.runtime.CoreException`

### addNature

public static void addNature(org.eclipse.core.resources.IProject project, String natureId, org.eclipse.core.runtime.IProgressMonitor monitor) throws org.eclipse.core.runtime.CoreException
Utility method for adding a nature to a project.

Parameters:
  `project` - the project to add the nature
  `natureId` - the id of the nature to assign to the project
  `monitor` - a progress monitor to indicate the duration of the operation, or `null` if progress reporting is not required.
Throws:
  `org.eclipse.core.runtime.CoreException`

### removeNature

public static void removeNature(org.eclipse.core.resources.IProject project, String natureId, org.eclipse.core.runtime.IProgressMonitor monitor) throws org.eclipse.core.runtime.CoreException
Utility method for removing a project nature from a project.

Parameters:
  `project` - the project to remove the nature from
  `natureId` - the nature id to remove
  `monitor` - a progress monitor to indicate the duration of the operation, or `null` if progress reporting is not required.
Throws:
  `org.eclipse.core.runtime.CoreException`

### configure

public void configure() throws org.eclipse.core.runtime.CoreException

Specified by:
  `configure` in interface `org.eclipse.core.resources.IProjectNature`
Throws:
  `org.eclipse.core.runtime.CoreException`
See Also:
  - `IProjectNature.configure()`

### deconfigure

public void deconfigure() throws org.eclipse.core.runtime.CoreException

Specified by:
  `deconfigure` in interface `org.eclipse.core.resources.IProjectNature`
Throws:
  `org.eclipse.core.runtime.CoreException`
See Also:
  - `IProjectNature.deconfigure()`

### getProject

public org.eclipse.core.resources.IProject getProject()

Specified by:
  `getProject` in interface `org.eclipse.core.resources.IProjectNature`
See Also:
  - `IProjectNature.getProject()`

### setProject

public void setProject(org.eclipse.core.resources.IProject project)

Specified by:
  `setProject` in interface `org.eclipse.core.resources.IProjectNature`
See Also:
  - `IProjectNature.setProject(org.eclipse.core.resources.IProject)`