Module (Gradle API 3.2.1)
Date: 2016-11-22

org.gradle.plugins.ide.idea.model

## Class Module

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

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

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

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

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String` | `INHERITED`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Module(org.gradle.internal.xml.XmlTransformer withXmlActions, PathFactory pathFactory)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected Object` | `configure(Path contentPath, Set<Path> sourceFolders, Set<Path> testSourceFolders, Set<Path> generatedSourceFolders, Set<Path> excludeFolders, Boolean inheritOutputDirs, Path outputDir, Path testOutputDir, Set<Dependency> dependencies, String jdkName, String languageLevel)`
    `boolean` | `equals(Object o)`
    `Path` | `getContentPath()` The directory for the content root of the module.
    `protected String` | `getDefaultResourceName()`
    `Set<Dependency>` | `getDependencies()` The dependencies of this module.
    `Set<Path>` | `getExcludeFolders()` The directories to be excluded.
    `Set<Path>` | `getGeneratedSourceFolders()` The directories containing generated the production sources.
    `String` | `getJdkName()`
    `Path` | `getOutputDir()` The output directory for production classes.
    `Set<Path>` | `getSourceFolders()` The directories containing the production sources.
    `Path` | `getTestOutputDir()` The output directory for test classes.
    `Set<Path>` | `getTestSourceFolders()` The directories containing the test sources.
    `int` | `hashCode()`
    `protected boolean` | `isDependencyOrderEntry(Object orderEntry)`
    `boolean` | `isInheritOutputDirs()` If true, output directories for this module will be located below the output directory for the project; otherwise, `outputDir` and `testOutputDir` will take effect.
    `protected void` | `load(Node xml)`
    `void` | `setContentPath(Path contentPath)`
    `void` | `setDependencies(Set<Dependency> dependencies)`
    `void` | `setExcludeFolders(Set<Path> excludeFolders)`
    `void` | `setGeneratedSourceFolders(Set<Path> generatedSourceFolders)`
    `void` | `setInheritOutputDirs(boolean inheritOutputDirs)`
    `void` | `setJdkName(String jdkName)`
    `void` | `setOutputDir(Path outputDir)`
    `void` | `setSourceFolders(Set<Path> sourceFolders)`
    `void` | `setTestOutputDir(Path testOutputDir)`
    `void` | `setTestSourceFolders(Set<Path> testSourceFolders)`
    `protected void` | `store(Node xml)`
    `String` | `toString()`

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

      `findFirstChildNamed, findFirstChildWithAttributeValue, findFirstWithAttributeValue, findOrCreateFirstChildNamed, findOrCreateFirstChildWithAttributeValue, getChildren, getXml, load, store, 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, wait, wait, wait`

- - ### Field Detail

    - #### INHERITED

          public static final String INHERITED

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### Module

          public Module(org.gradle.internal.xml.XmlTransformer withXmlActions,
                PathFactory pathFactory)

  - ### Method Detail

    - #### getContentPath

          public Path getContentPath()

      The directory for the content root of the module. Defaults to the project directory. If null, the directory containing the output file will be used.

    - #### setContentPath

          public void setContentPath(Path contentPath)

    - #### getSourceFolders

          public Set<Path> getSourceFolders()

      The directories containing the production sources. Must not be null.

    - #### setSourceFolders

          public void setSourceFolders(Set<Path> sourceFolders)

    - #### getTestSourceFolders

          public Set<Path> getTestSourceFolders()

      The directories containing the test sources. Must not be null.

    - #### setTestSourceFolders

          public void setTestSourceFolders(Set<Path> testSourceFolders)

    - #### getGeneratedSourceFolders

          public Set<Path> getGeneratedSourceFolders()

      The directories containing generated the production sources. Must not be null.

    - #### setGeneratedSourceFolders

          public void setGeneratedSourceFolders(Set<Path> generatedSourceFolders)

    - #### getExcludeFolders

          public Set<Path> getExcludeFolders()

      The directories to be excluded. Must not be null.

    - #### setExcludeFolders

          public void setExcludeFolders(Set<Path> excludeFolders)

    - #### isInheritOutputDirs

          public boolean isInheritOutputDirs()

      If true, output directories for this module will be located below the output directory for the project; otherwise, `outputDir` and `testOutputDir` will take effect.

    - #### setInheritOutputDirs

          public void setInheritOutputDirs(boolean inheritOutputDirs)

    - #### getOutputDir

          public Path getOutputDir()

      The output directory for production classes. If `null`, no entry will be created.

    - #### setOutputDir

          public void setOutputDir(Path outputDir)

    - #### getTestOutputDir

          public Path getTestOutputDir()

      The output directory for test classes. If `null`, no entry will be created.

    - #### setTestOutputDir

          public void setTestOutputDir(Path testOutputDir)

    - #### getDependencies

          public Set<Dependency> getDependencies()

      The dependencies of this module. Must not be null.

    - #### setDependencies

          public void setDependencies(Set<Dependency> dependencies)

    - #### getJdkName

          public String getJdkName()

    - #### setJdkName

          public void setJdkName(String jdkName)

    - #### getDefaultResourceName

          protected String getDefaultResourceName()

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

    - #### configure

          protected Object configure(Path contentPath,
                         Set<Path> sourceFolders,
                         Set<Path> testSourceFolders,
                         Set<Path> generatedSourceFolders,
                         Set<Path> excludeFolders,
                         Boolean inheritOutputDirs,
                         Path outputDir,
                         Path testOutputDir,
                         Set<Dependency> dependencies,
                         String jdkName,
                         String languageLevel)

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

    - #### isDependencyOrderEntry

          protected boolean isDependencyOrderEntry(Object orderEntry)

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`

    - #### equals

          public boolean equals(Object o)

      Overrides:
        `equals` in class `Object`

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `Object`