org.gradle.plugins.ide.eclipse.model

## Class EclipseJdt

- java.lang.Object
- - groovy.lang.GroovyObjectSupport
  - - org.gradle.plugins.ide.eclipse.model.EclipseJdt

- All Implemented Interfaces:
    GroovyObject

      public class EclipseJdt
      extends GroovyObjectSupport

  Enables fine-tuning jdt details of the Eclipse plugin

       apply plugin: 'java'
       apply plugin: 'eclipse'

       eclipse {
         jdt {
           //if you want to alter the java versions (by default they are configured with gradle java plugin settings):
           sourceCompatibility = 1.6
           targetCompatibility = 1.5
           javaRuntimeName = "J2SE-1.5"

           file {
             //whenMerged closure is the highest voodoo
             //and probably should be used only to solve tricky edge cases.
             //the type passed to the closure is Jdt

             //closure executed after jdt file content is loaded from existing file
             //and after gradle build information is merged
             whenMerged { jdt
               //you can tinker with the Jdt here
             }

             //withProperties allows addition of properties not currently
             //modeled by Gradle
             withProperties { properties ->
                 //you can tinker with the Properties here
             }
           }
         }
       }

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `EclipseJdt(PropertiesFileContentMerger file)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `file(Closure closure)` Enables advanced configuration like affecting the way existing jdt file content is merged with gradle build information
    `PropertiesFileContentMerger` | `getFile()` See `file(Closure)`
    `String` | `getJavaRuntimeName()` The name of the Java Runtime to use.
    `JavaVersion` | `getSourceCompatibility()` The source Java language level.
    `JavaVersion` | `getTargetCompatibility()` The target JVM to generate `.class` files for.
    `void` | `setJavaRuntimeName(String javaRuntimeName)`
    `void` | `setSourceCompatibility(Object sourceCompatibility)`
    `void` | `setTargetCompatibility(Object targetCompatibility)`

    - ### Methods inherited from class groovy.lang.GroovyObjectSupport

      `getMetaClass, getProperty, invokeMethod, setMetaClass, setProperty`

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

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

- - ### Constructor Detail

    - #### EclipseJdt

          public EclipseJdt(PropertiesFileContentMerger file)

  - ### Method Detail

    - #### getSourceCompatibility

          public JavaVersion getSourceCompatibility()

      The source Java language level.

      For example see docs for `EclipseJdt`

    - #### setSourceCompatibility

          public void setSourceCompatibility(Object sourceCompatibility)

    - #### getTargetCompatibility

          public JavaVersion getTargetCompatibility()

      The target JVM to generate `.class` files for.

      For example see docs for `EclipseJdt`

    - #### setTargetCompatibility

          public void setTargetCompatibility(Object targetCompatibility)

    - #### getJavaRuntimeName

          @Incubating
          public String getJavaRuntimeName()

      The name of the Java Runtime to use.

      For example see docs for `EclipseJdt`

    - #### setJavaRuntimeName

          @Incubating
          public void setJavaRuntimeName(String javaRuntimeName)

    - #### getFile

          public PropertiesFileContentMerger getFile()

      See `file(Closure)`

    - #### file

          public void file(Closure closure)

      Enables advanced configuration like affecting the way existing jdt file content is merged with gradle build information

      The object passed to whenMerged{} and beforeMerged{} closures is of type `Jdt`

      The object passed to withProperties{} closures is of type `Properties`

      For example see docs for `EclipseJdt`