# Interface IdeaProject

All Superinterfaces:
  `Element, HierarchicalElement, Model`

All Known Subinterfaces:
  `BasicIdeaProject`

public interface IdeaProject extends HierarchicalElement
Represents the information about the IDEA project.

Since:
  1.0-milestone-5

- ## Method Summary

  Modifier and Type
  Method
  Description
  `DomainObjectSet<? extends IdeaModule>`
  `getChildren()`
  Returns the modules of this IDEA project.
  `IdeaJavaLanguageSettings`
  `getJavaLanguageSettings()`
  Returns the Java language settings for this project.
  `String`
  `getJdkName()`
  Returns the name of the JDK.
  `IdeaLanguageLevel`
  `getLanguageLevel()`
  Returns the language level to use within the current project.
  `DomainObjectSet<? extends IdeaModule>`
  `getModules()`
  Returns the modules of this IDEA project.

  ### Methods inherited from interface Element

  `getDescription, getName`

  ### Methods inherited from interface HierarchicalElement

  `getParent`

- ## Method Details

  - ### getJavaLanguageSettings

    IdeaJavaLanguageSettings getJavaLanguageSettings() throws UnsupportedMethodException
    Returns the Java language settings for this project.
    Returns:
      the Java language settings for the current project, never null.
    Throws:
      `UnsupportedMethodException` - For Gradle versions older than 1.0-milestone-8, where this method is not supported.
    Since:
      2.11

  - ### getJdkName

    String getJdkName()
    Returns the name of the JDK.
    Returns:
      The name of the JDK.
    Since:
      1.0-milestone-5

  - ### getLanguageLevel

    IdeaLanguageLevel getLanguageLevel()
    Returns the language level to use within the current project.

    Note: To determine the project language level `IdeaModule.getJavaLanguageSettings()` should be preferred.

    Returns:
      The language level to use within the current project.
    Since:
      1.0-milestone-5

  - ### getChildren

    DomainObjectSet<? extends IdeaModule> getChildren()
    Returns the modules of this IDEA project. Most projects have at least one module. Alias for `getModules()`.
    Specified by:
      `getChildren` in interface `HierarchicalElement`
    Returns:
      The modules of this IDEA project.
    Since:
      1.0-milestone-5

  - ### getModules

    DomainObjectSet<? extends IdeaModule> getModules()
    Returns the modules of this IDEA project. Most projects have at least one module. Alias for `getChildren()`.
    Returns:
      The modules of this IDEA project.
    Since:
      1.0-milestone-5