Package org.gradle.api.artifacts.transform

## Interface TransformAction<T extends TransformParameters>

- Type Parameters:
    `T` - Parameter type for the transform action. Should be `TransformParameters.None` if the action does not have parameters.

      public interface TransformAction<T extends TransformParameters>

  Interface for artifact transform actions.

  A transform action implementation is an abstract class implementing the `transform(TransformOutputs)` method. A minimal implementation may look like this:

       import org.gradle.api.artifacts.transform.TransformParameters;

       public abstract class MyTransform implements TransformAction<TransformParameters.None> {
           @InputArtifact
           public abstract Provider<FileSystemLocation> getInputArtifact();

           @Override
           public void transform(TransformOutputs outputs) {
               File input = getInputArtifact().get().getAsFile();
               File output = outputs.file(input.getName() + ".transformed");
               // Do something to generate output from input
           }
       }

  Implementations of TransformAction are subject to the following constraints:
  - Do not implement `getParameters()` in your class, the method will be implemented by Gradle.
  - Implementations may only have a default constructor.
  Implementations can receive parameters by using annotated abstract getter methods.
  - An abstract getter annotated with `InputArtifact` will receive the input artifact location, which is the file or directory that the transform should be applied to.
  - An abstract getter with `InputArtifactDependencies` will receive the dependencies of its input artifact.
  Since:
    5.3

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `T` | `getParameters()` | The object provided by `TransformSpec.getParameters()` when registering the artifact transform.
    `void` | `transform​(TransformOutputs outputs)` | Executes the transform.

- - ### Method Detail

    - #### getParameters

          @Inject
          T getParameters()

      The object provided by `TransformSpec.getParameters()` when registering the artifact transform.

      Do not implement this method in your subclass. Gradle provides the implementation when registering the transform action via `DependencyHandler.registerTransform(Class, Action)`.

    - #### transform

          void transform​(TransformOutputs outputs)

      Executes the transform.

      This method must be implemented in the subclass.

      Parameters:
        `outputs` - Receives the outputs of the transform.