# Interface ConfigurableFileTree

All Superinterfaces:
  `AntBuilderAware, Buildable, DirectoryTree, FileCollection, FileTree, Iterable<File>, PatternFilterable`

@ManagedType public interface ConfigurableFileTree extends FileTree, DirectoryTree, PatternFilterable, Buildable

A `FileTree` with a single base directory, which can be configured and modified.

Since:
  0.8
See Also:
  - Create an instance of this as a managed property (preferred).
  - Create an instance of this manually.

- ## Nested Class Summary

  ### Nested classes/interfaces inherited from interface FileCollection

  `FileCollection.AntType`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `ConfigurableFileTree`
  `builtBy(Object... tasks)`
  Registers some tasks which build the files of this collection.
  `ConfigurableFileTree`
  `from(Object dir)`
  Specifies base directory for this file tree using the given path.
  `Set<Object>`
  `getBuiltBy()`
  Returns the set of tasks which build the files of this collection.
  `File`
  `getDir()`
  Returns the base directory of this file tree.
  `ConfigurableFileTree`
  `setBuiltBy(Iterable<?> tasks)`
  Sets the tasks which build the files of this collection.
  `ConfigurableFileTree`
  `setDir(Object dir)`
  Specifies base directory for this file tree using the given path.

  ### Methods inherited from interface Buildable

  `getBuildDependencies`

  ### Methods inherited from interface DirectoryTree

  `getPatterns`

  ### Methods inherited from interface FileCollection

  `addToAntBuilder, addToAntBuilder, contains, filter, filter, getAsPath, getElements, getSingleFile, isEmpty, minus, plus`

  ### Methods inherited from interface FileTree

  `getAsFileTree, getFiles, matching, matching, matching, plus, visit, visit, visit`

  ### Methods inherited from interface Iterable

  `forEach, iterator, spliterator`

  ### Methods inherited from interface PatternFilterable

  `exclude, exclude, exclude, exclude, getExcludes, getIncludes, include, include, include, include, setExcludes, setIncludes`

- ## Method Details

  - ### from

    ConfigurableFileTree from(Object dir)
    Specifies base directory for this file tree using the given path. The path is evaluated as per `Project.file(Object)`.
    Parameters:
      `dir` - The base directory.
    Returns:
      this
    Since:
      0.8

  - ### getDir

    File getDir()
    Returns the base directory of this file tree.
    Specified by:
      `getDir` in interface `DirectoryTree`
    Returns:
      The base directory. Never returns null.

  - ### setDir

    ConfigurableFileTree setDir(Object dir)
    Specifies base directory for this file tree using the given path. The path is evaluated as per `Project.file(Object)`.
    Parameters:
      `dir` - The base directory.
    Returns:
      this
    Since:
      0.8

  - ### getBuiltBy

    Set<Object> getBuiltBy()
    Returns the set of tasks which build the files of this collection.
    Returns:
      The set. Returns an empty set when there are no such tasks.
    Since:
      0.9

  - ### setBuiltBy

    ConfigurableFileTree setBuiltBy(Iterable<?> tasks)
    Sets the tasks which build the files of this collection.
    Parameters:
      `tasks` - The tasks. These are evaluated as per `Task.dependsOn(Object...)`.
    Returns:
      this
    Since:
      0.9

  - ### builtBy

    ConfigurableFileTree builtBy(Object... tasks)
    Registers some tasks which build the files of this collection.
    Parameters:
      `tasks` - The tasks. These are evaluated as per `Task.dependsOn(Object...)`.
    Returns:
      this
    Since:
      0.9