# Class TaskEvent

java.lang.Object
com.sun.source.util.TaskEvent

public final class TaskEvent extends Object
Provides details about work that has been done by the JDK Java Compiler, javac.

Since:
  1.6

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `static enum`
  `TaskEvent.Kind`
  Kind of task event.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `TaskEvent(TaskEvent.Kind kind)`
  Creates a task event for a given kind.
  `TaskEvent(TaskEvent.Kind kind, CompilationUnitTree unit)`
  Creates a task event for a given kind and compilation unit.
  `TaskEvent(TaskEvent.Kind kind, CompilationUnitTree unit, TypeElement clazz)`
  Creates a task event for a given kind, compilation unit and type element.
  `TaskEvent(TaskEvent.Kind kind, JavaFileObject sourceFile)`
  Creates a task event for a given kind and source file.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `CompilationUnitTree`
  `getCompilationUnit()`
  Returns the compilation unit for this event.
  `TaskEvent.Kind`
  `getKind()`
  Returns the kind for this event.
  `JavaFileObject`
  `getSourceFile()`
  Returns the source file for this event.
  `TypeElement`
  `getTypeElement()`
  Returns the type element for this event.

  ### Methods declared in class Object

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

- ## Constructor Details

  - ### TaskEvent

    public TaskEvent(TaskEvent.Kind kind)
    Creates a task event for a given kind. The source file, compilation unit and type element are all set to `null`.
    Parameters:
      `kind` - the kind of the event

  - ### TaskEvent

    public TaskEvent(TaskEvent.Kind kind, JavaFileObject sourceFile)
    Creates a task event for a given kind and source file. The compilation unit and type element are both set to `null`.
    Parameters:
      `kind` - the kind of the event
      `sourceFile` - the source file

  - ### TaskEvent

    public TaskEvent(TaskEvent.Kind kind, CompilationUnitTree unit)
    Creates a task event for a given kind and compilation unit. The source file is set from the compilation unit, and the type element is set to `null`.
    Parameters:
      `kind` - the kind of the event
      `unit` - the compilation unit

  - ### TaskEvent

    public TaskEvent(TaskEvent.Kind kind, CompilationUnitTree unit, TypeElement clazz)
    Creates a task event for a given kind, compilation unit and type element. The source file is set from the compilation unit.
    Parameters:
      `kind` - the kind of the event
      `unit` - the compilation unit
      `clazz` - the type element

- ## Method Details

  - ### getKind

    public TaskEvent.Kind getKind()
    Returns the kind for this event.
    Returns:
      the kind

  - ### getSourceFile

    public JavaFileObject getSourceFile()
    Returns the source file for this event. May be `null`.
    Returns:
      the source file

  - ### getCompilationUnit

    public CompilationUnitTree getCompilationUnit()
    Returns the compilation unit for this event. May be `null`.
    Returns:
      the compilation unit

  - ### getTypeElement

    public TypeElement getTypeElement()
    Returns the type element for this event. May be `null`.
    Returns:
      the type element