# Enum OperationType

java.lang.Object
java.lang.Enum<OperationType>
org.gradle.tooling.events.OperationType

All Implemented Interfaces:
  `Serializable, Comparable<OperationType>, Constable`

public enum OperationType extends Enum<OperationType>
Enumerates the different types of operations for which progress events can be received.

See Also:
  - `LongRunningOperation.addProgressListener(ProgressListener, java.util.Set)`

- ## Nested Class Summary

  ### Nested classes/interfaces inherited from class Enum

  `Enum.EnumDesc<E>`

- ## Enum Constant Summary

  Enum Constants
  Enum Constant
  Description
  `BUILD_PHASE`
  Flag for build phase events.
  `FILE_DOWNLOAD`
  Flag for file download progress events.
  `GENERIC`
  Flag for operations with no specific type.
  `PROBLEMS`
  Flag for problem events.
  `PROJECT_CONFIGURATION`
  Flag for project configuration operation progress events.
  `ROOT`
  Flag for the topmost progress event.
  `TASK`
  Flag for task operation progress events.
  `TEST`
  Flag for test operation progress events.
  `TEST_METADATA`
  Flag for test metadata events.
  `TEST_OUTPUT`
  Flag for test output operation progress events.
  `TRANSFORM`
  Flag for transform operation progress events.
  `WORK_ITEM`
  Flag for work item operation progress events.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static OperationType`
  `valueOf(String name)`
  Returns the enum constant of this type with the specified name.
  `static OperationType[]`
  `values()`
  Returns an array containing the constants of this enum type, in the order they are declared.

  ### Methods inherited from class Enum

  `clone, compareTo, describeConstable, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf`

  ### Methods inherited from class Object

  `getClass, notify, notifyAll, wait, wait, wait`

- ## Enum Constant Details

  - ### TEST

    public static final OperationType TEST
    Flag for test operation progress events.

    The following events are currently issued for this operation type.

    - `TestStartEvent`
    - `TestFinishEvent`

  - ### TASK

    public static final OperationType TASK
    Flag for task operation progress events.

    The following events are currently issued for this operation type.

    - `TaskStartEvent`
    - `TaskFinishEvent`

  - ### GENERIC

    public static final OperationType GENERIC
    Flag for operations with no specific type.

    The following events are currently issued for this operation type.

    - `StartEvent`
    - `FinishEvent`
    - `StatusEvent`

  - ### WORK_ITEM

    public static final OperationType WORK_ITEM
    Flag for work item operation progress events.

    The following events are currently issued for this operation type.

    - `WorkItemStartEvent`
    - `WorkItemFinishEvent`
    Since:
      5.1

  - ### PROJECT_CONFIGURATION

    public static final OperationType PROJECT_CONFIGURATION
    Flag for project configuration operation progress events.

    The following events are currently issued for this operation type.

    - `ProjectConfigurationStartEvent`
    - `ProjectConfigurationFinishEvent`
    Since:
      5.1

  - ### TRANSFORM

    public static final OperationType TRANSFORM
    Flag for transform operation progress events.

    The following events are currently issued for this operation type.

    - `TransformStartEvent`
    - `TransformFinishEvent`
    Since:
      5.1

  - ### TEST_OUTPUT

    public static final OperationType TEST_OUTPUT
    Flag for test output operation progress events.

    Clients must subscribe to `TEST` events too if they want to receive test output events.

    The following events are currently issued for this operation type.
    - `TestOutputEvent`
    Since:
      6.0

  - ### TEST_METADATA

    @Incubating public static final OperationType TEST_METADATA
    Flag for test metadata events.

    Clients must subscribe to `TEST` events too if they want to receive test metadata events.

    The following events are currently issued for this operation type.
    - `TestMetadataEvent`
    Since:
      8.13

  - ### FILE_DOWNLOAD

    public static final OperationType FILE_DOWNLOAD
    Flag for file download progress events. This includes various types of files, for example files downloaded during dependency resolution, Gradle distribution downloads, and Java toolchain downloads.

    The following events are currently issued for this operation type.

    - `FileDownloadStartEvent`
    - `StatusEvent`
    - `FileDownloadFinishEvent`
    Since:
      7.3

  - ### BUILD_PHASE

    @Incubating public static final OperationType BUILD_PHASE
    Flag for build phase events.

    The following events are currently issued for this operation type.

    - `BuildPhaseStartEvent`
    - `BuildPhaseFinishEvent`
    Since:
      7.6

  - ### PROBLEMS

    @Incubating public static final OperationType PROBLEMS
    Flag for problem events.

    The following events are currently issued for this operation type.

    - `ProblemEvent`
    - `SingleProblemEvent`
    - `ProblemSummariesEvent`
    Since:
      8.4

  - ### ROOT

    @Incubating public static final OperationType ROOT
    Flag for the topmost progress event.

    Using this operation type is useful for capturing the build failure details from the finish event. The following events are currently issued for this operation type.

    - `StartEvent`
    - `FinishEvent`
    Since:
      8.12

- ## Method Details

  - ### values

    public static OperationType[] values()
    Returns an array containing the constants of this enum type, in the order they are declared.
    Returns:
      an array containing the constants of this enum type, in the order they are declared

  - ### valueOf

    public static OperationType valueOf(String name)
    Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
    Parameters:
      `name` - the name of the enum constant to be returned.
    Returns:
      the enum constant with the specified name
    Throws:
      `IllegalArgumentException` - if this enum type has no constant with the specified name
      `NullPointerException` - if the argument is null