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
`static String` `C_NATURE_ID`

### Constructor Summary

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

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`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 Detail

#### C_NATURE_ID

    public static final String C_NATURE_ID

See Also:
  Constant Field Values

### Constructor Detail

#### CProjectNature

    public CProjectNature()

#### CProjectNature

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

### Method Detail

#### 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)`