# Interface IdeaModule

All Superinterfaces:
  `Element, HasGradleProject, HierarchicalElement, Model, ProjectModel`

public interface IdeaModule extends HierarchicalElement, HasGradleProject
Represents information about the IDEA module.

Since:
  1.0-milestone-5

- ## Method Summary

  Modifier and Type
  Method
  Description
  `IdeaCompilerOutput`
  `getCompilerOutput()`
  Returns information about idea compiler output (output dirs, inheritance of output dir, etc.)
  `DomainObjectSet<? extends IdeaContentRoot>`
  `getContentRoots()`
  All content roots.
  `DomainObjectSet<? extends IdeaDependency>`
  `getDependencies()`
  dependencies of this module (i.e.
  `GradleProject`
  `getGradleProject()`
  The gradle project that is associated with this module.
  `@Nullable IdeaJavaLanguageSettings`
  `getJavaLanguageSettings()`
  Returns the Java language settings for this element, or `null` if this element is not a Java element.
  `String`
  `getJdkName()`
  Returns the name of the JDK.
  `IdeaProject`
  `getParent()`
  Returns the project of this module.
  `IdeaProject`
  `getProject()`
  Returns the project of this module.

  ### Methods inherited from interface Element

  `getDescription, getName`

  ### Methods inherited from interface HasGradleProject

  `getProjectIdentifier`

  ### Methods inherited from interface HierarchicalElement

  `getChildren`

- ## Method Details

  - ### getJavaLanguageSettings

    @Nullable IdeaJavaLanguageSettings getJavaLanguageSettings() throws UnsupportedMethodException
    Returns the Java language settings for this element, or `null` if this element is not a Java element.
    Returns:
      The Java language settings.
    Throws:
      `UnsupportedMethodException` - For Gradle versions older than 2.11, where this method is not supported.
    Since:
      2.11

  - ### getJdkName

    String getJdkName() throws UnsupportedMethodException
    Returns the name of the JDK.
    Returns:
      The name of the JDK.
    Throws:
      `UnsupportedMethodException`
    Since:
      3.4

  - ### getContentRoots

    DomainObjectSet<? extends IdeaContentRoot> getContentRoots()
    All content roots. Most idea modules have a single content root.
    Returns:
      content roots
    Since:
      1.0-milestone-5

  - ### getGradleProject

    GradleProject getGradleProject()
    The gradle project that is associated with this module. Typically, a single module corresponds to a single gradle project.

    See `HasGradleProject`

    Specified by:
      `getGradleProject` in interface `HasGradleProject`
    Returns:
      associated gradle project
    Since:
      1.0-milestone-5

  - ### getParent

    IdeaProject getParent()
    Returns the project of this module. Alias to `getProject()`
    Specified by:
      `getParent` in interface `HierarchicalElement`
    Returns:
      idea project
    Since:
      1.0-milestone-5

  - ### getProject

    IdeaProject getProject()
    Returns the project of this module. Alias to `getParent()`
    Returns:
      idea project
    Since:
      1.0-milestone-5

  - ### getCompilerOutput

    IdeaCompilerOutput getCompilerOutput()
    Returns information about idea compiler output (output dirs, inheritance of output dir, etc.)
    Since:
      1.0-milestone-5

  - ### getDependencies

    DomainObjectSet<? extends IdeaDependency> getDependencies()
    dependencies of this module (i.e. module dependencies, library dependencies, etc.)
    Returns:
      dependencies
    Since:
      1.0-milestone-5