# Interface EclipseSourceDirectory

All Superinterfaces:
  `EclipseClasspathEntry, SourceDirectory`

public interface EclipseSourceDirectory extends SourceDirectory, EclipseClasspathEntry
A source directory in an Eclipse project.

Since:
  1.0

- ## Method Summary

  Modifier and Type
  Method
  Description
  `DomainObjectSet<? extends ClasspathAttribute>`
  `getClasspathAttributes()`
  Returns the classpath attributes associated with this classpath entry.
  `List<String>`
  `getExcludes()`
  Returns the exclude patterns for this source directory.
  `List<String>`
  `getIncludes()`
  Returns the include patterns for this source directory.
  `@Nullable String`
  `getOutput()`
  Returns the output location of this source directory.
  `String`
  `getPath()`
  Returns the relative path for this source directory.

  ### Methods inherited from interface EclipseClasspathEntry

  `getAccessRules`

  ### Methods inherited from interface SourceDirectory

  `getDirectory`

- ## Method Details

  - ### getPath

    String getPath()
    Returns the relative path for this source directory.
    Returns:
      The path for this source directory. Does not return null.
    Since:
      1.0

  - ### getIncludes

    List<String> getIncludes() throws UnsupportedMethodException
    Returns the include patterns for this source directory.
    Returns:
      The list of patterns to include. Does not return null.
    Throws:
      `UnsupportedMethodException` - For Gradle versions older than 3.0, where this method is not supported.
    Since:
      3.0

  - ### getExcludes

    List<String> getExcludes() throws UnsupportedMethodException
    Returns the exclude patterns for this source directory.
    Returns:
      The list of patterns to exclude. Does not return null.
    Throws:
      `UnsupportedMethodException` - For Gradle versions older than 3.0, where this method is not supported.
    Since:
      3.0

  - ### getOutput

    @Nullable String getOutput() throws UnsupportedMethodException
    Returns the output location of this source directory. If `null`, then the compiled classes are placed in the project's default output location.
    Returns:
      The output location of this source directory.
    Throws:
      `UnsupportedMethodException` - For Gradle versions older than 3.0, where this method is not supported.
    Since:
      3.0

  - ### getClasspathAttributes

    DomainObjectSet<? extends ClasspathAttribute> getClasspathAttributes() throws UnsupportedMethodException
    Returns the classpath attributes associated with this classpath entry.
    Specified by:
      `getClasspathAttributes` in interface `EclipseClasspathEntry`
    Returns:
      The classpath attributes.
    Throws:
      `UnsupportedMethodException` - For Gradle versions older than 3.0, where this method is not supported.
    Since:
      3.0