# 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
  Description
  `Project(org.gradle.internal.xml.XmlTransformer xmlTransformer, Object pathFactory)`

- ## Method Summary

  Modifier and Type
  Method
  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 Object

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

- ## Constructor Details

  - ### Project

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

- ## Method Details

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

    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

    public String getVcs()
    The vcs used by the project.

  - ### setVcs

    public void setVcs(String vcs)

  - ### getProjectLibraries

    public Set<ProjectLibrary> getProjectLibraries()
    The project-level libraries of the IDEA project.

  - ### setProjectLibraries

    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`