org.gradle.plugins.ide.idea.model

## Class Project

- java.lang.Object
- - org.gradle.plugins.ide.internal.generator.AbstractPersistableConfigurationObject
  - - org.gradle.plugins.ide.internal.generator.XmlPersistableConfigurationObject
    - - org.gradle.plugins.ide.idea.model.Project

- All Implemented Interfaces:
    org.gradle.plugins.ide.internal.generator.generator.PersistableConfigurationObject

      public class Project
      extends org.gradle.plugins.ide.internal.generator.XmlPersistableConfigurationObject

  Represents the customizable elements of an ipr (via XML hooks everything of the ipr is customizable).

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `Project(org.gradle.internal.xml.XmlTransformer xmlTransformer, Object pathFactory)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addModulePath(File moduleFile)` Adds a module to the module paths included in the Project.
    `void` | `configure(List<IdeaModule> modules, String jdkName, IdeaLanguageLevel languageLevel, JavaVersion bytecodeVersion, Collection<String> wildcards, Collection<ProjectLibrary> projectLibraries, String vcs)`
    `boolean` | `equals(Object o)`
    `protected String` | `getDefaultResourceName()`
    `Jdk` | `getJdk()` Represent the jdk information of the project java sdk.
    `Set<Path>` | `getModulePaths()` A set of `Path` instances pointing to the modules contained in the ipr.
    `Set<ProjectLibrary>` | `getProjectLibraries()` The project-level libraries of the IDEA project.
    `String` | `getVcs()` The vcs used by the project.
    `Set<String>` | `getWildcards()` A set of wildcard string to be included/excluded from the resources.
    `int` | `hashCode()`
    `protected void` | `load(Node xml)`
    `void` | `setJdk(Jdk jdk)`
    `void` | `setModulePaths(Set<Path> modulePaths)`
    `void` | `setProjectLibraries(Set<ProjectLibrary> projectLibraries)`
    `void` | `setVcs(String vcs)`
    `void` | `setWildcards(Set<String> wildcards)`
    `protected void` | `store(Node xml)`

    - ### Methods inherited from class org.gradle.plugins.ide.internal.generator.XmlPersistableConfigurationObject

      `findFirstChildNamed, findFirstChildWithAttributeValue, findFirstWithAttributeValue, findOrCreateFirstChildNamed, findOrCreateFirstChildWithAttributeValue, getChildren, getXml, load, store, transformAction, transformAction`

    - ### Methods inherited from class org.gradle.plugins.ide.internal.generator.AbstractPersistableConfigurationObject

      `load, loadDefaults, store`

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

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

- - ### Constructor Detail

    - #### Project

          public Project(org.gradle.internal.xml.XmlTransformer xmlTransformer,
                         Object pathFactory)

  - ### Method Detail

    - #### getModulePaths

          public Set<Path> getModulePaths()

      A set of `Path` instances pointing to the modules contained in the ipr.

    - #### setModulePaths

          public void setModulePaths(Set<Path> modulePaths)

    - #### addModulePath

          @Incubating
          public void addModulePath(File moduleFile)

      Adds a module to the module paths included in the Project.
      Parameters:
        `moduleFile` - path to the module's module file
      Since:
        4.0

    - #### getWildcards

          public Set<String> getWildcards()

      A set of wildcard string to be included/excluded from the resources.

    - #### setWildcards

          public void setWildcards(Set<String> wildcards)

    - #### getJdk

          public Jdk getJdk()

      Represent the jdk information of the project java sdk.

    - #### setJdk

          public void setJdk(Jdk jdk)

    - #### getVcs

          @Incubating
          public String getVcs()

      The vcs used by the project.

    - #### setVcs

          @Incubating
          public void setVcs(String vcs)

    - #### getProjectLibraries

          @Incubating
          public Set<ProjectLibrary> getProjectLibraries()

      The project-level libraries of the IDEA project.

    - #### setProjectLibraries

          @Incubating
          public void setProjectLibraries(Set<ProjectLibrary> projectLibraries)

    - #### getDefaultResourceName

          protected String getDefaultResourceName()

      Specified by:
        `getDefaultResourceName` in class `org.gradle.plugins.ide.internal.generator.AbstractPersistableConfigurationObject`

    - #### configure

          public void configure(List<IdeaModule> modules,
                                String jdkName,
                                IdeaLanguageLevel languageLevel,
                                JavaVersion bytecodeVersion,
                                Collection<String> wildcards,
                                Collection<ProjectLibrary> projectLibraries,
                                String vcs)

    - #### load

          protected void load(Node xml)

      Overrides:
        `load` in class `org.gradle.plugins.ide.internal.generator.XmlPersistableConfigurationObject`

    - #### store

          protected void store(Node xml)

      Overrides:
        `store` in class `org.gradle.plugins.ide.internal.generator.XmlPersistableConfigurationObject`

    - #### equals

          public boolean equals(Object o)

      Overrides:
        `equals` in class `Object`

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `Object`