org.gradle.plugins.ide.api

## Class GeneratorTask<T>

- java.lang.Object
- - org.gradle.api.internal.AbstractTask
  - - org.gradle.api.DefaultTask
    - - org.gradle.api.internal.ConventionTask
      - - org.gradle.plugins.ide.api.GeneratorTask<T>

- Type Parameters:
    `T` - The domain object for the configuration file.
  All Implemented Interfaces:
    Comparable<Task>, org.gradle.api.internal.DynamicObjectAware, org.gradle.api.internal.IConventionAware, org.gradle.api.internal.TaskInternal, ExtensionAware, Task, org.gradle.util.Configurable<Task>
  Direct Known Subclasses:
    PropertiesGeneratorTask, XmlGeneratorTask

      public class GeneratorTask<T>
      extends org.gradle.api.internal.ConventionTask

  A `GeneratorTask` generates a configuration file based on a domain object of type T. When executed the task:

  - loads the object from the input file, if it exists.
  - Calls the beforeConfigured actions, passing the object to each action.
  - Configures the object in some task-specific way.
  - Calls the afterConfigured actions, passing the object to each action.
  - writes the object to the output file.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface org.gradle.api.Task

      `Task.Namer`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected org.gradle.listener.ActionBroadcast<T>` | `afterConfigured`
    `protected org.gradle.listener.ActionBroadcast<T>` | `beforeConfigured`
    `protected T` | `domainObject`
    `protected org.gradle.plugins.ide.internal.generator.generator.Generator<T>` | `generator`

    - ### Fields inherited from interface org.gradle.api.Task

      `TASK_ACTION, TASK_DEPENDS_ON, TASK_DESCRIPTION, TASK_GROUP, TASK_NAME, TASK_OVERWRITE, TASK_TYPE`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `GeneratorTask()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `File` | `getInputFile()` The input file to load the initial configuration from.
    `protected org.gradle.internal.reflect.Instantiator` | `getInstantiator()`
    `File` | `getOutputFile()` The output file to write the final configuration to.
    `void` | `setInputFile(File inputFile)` Sets the input file to load the initial configuration from.
    `void` | `setOutputFile(File outputFile)` Sets the output file to write the final configuration to.

    - ### Methods inherited from class org.gradle.api.internal.ConventionTask

      `conventionMapping, conventionMapping, getConventionMapping`

    - ### Methods inherited from class org.gradle.api.internal.AbstractTask

      `addValidator, appendParallelSafeAction, compareTo, configure, deleteAllActions, dependsOn, dependsOnTaskDidWork, doFirst, doFirst, doLast, doLast, execute, finalizedBy, getActions, getAnt, getAsDynamicObject, getConvention, getDependsOn, getDescription, getDidWork, getEnabled, getExecuter, getExtensions, getFinalizedBy, getGroup, getImpliesSubProjects, getInputs, getLogger, getLogging, getMustRunAfter, getName, getOnlyIf, getOutputs, getPath, getProject, getServices, getShouldRunAfter, getStandardOutputCapture, getState, getTaskActions, getTaskDependencies, getTemporaryDir, getTemporaryDirFactory, getValidators, hasProperty, injectIntoNewInstance, isEnabled, isHasCustomActions, leftShift, mustRunAfter, onlyIf, onlyIf, prependParallelSafeAction, property, setActions, setDependsOn, setDescription, setDidWork, setEnabled, setExecuter, setFinalizedBy, setGroup, setImpliesSubProjects, setMustRunAfter, setName, setOnlyIf, setOnlyIf, setProject, setProperty, setShouldRunAfter, shouldRunAfter, toString`

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

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

- - ### Field Detail

    - #### beforeConfigured

          protected final org.gradle.listener.ActionBroadcast<T> beforeConfigured

    - #### afterConfigured

          protected final org.gradle.listener.ActionBroadcast<T> afterConfigured

    - #### generator

          protected org.gradle.plugins.ide.internal.generator.generator.Generator<T> generator

    - #### domainObject

          protected T domainObject

  - ### Constructor Detail

    - #### GeneratorTask

          public GeneratorTask()

  - ### Method Detail

    - #### getInstantiator

          @Inject
          protected org.gradle.internal.reflect.Instantiator getInstantiator()

    - #### getInputFile

          public File getInputFile()

      The input file to load the initial configuration from. Defaults to the output file. If the specified input file does not exist, this task uses some default initial configuration.
      Returns:
        The input file.

    - #### setInputFile

          public void setInputFile(File inputFile)

      Sets the input file to load the initial configuration from.
      Parameters:
        `inputFile` - The input file. Use null to use the output file.

    - #### getOutputFile

          @OutputFile
          public File getOutputFile()

      The output file to write the final configuration to.
      Returns:
        The output file.

    - #### setOutputFile

          public void setOutputFile(File outputFile)

      Sets the output file to write the final configuration to.
      Parameters:
        `outputFile` - The output file.