# 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`
  Modifier and Type
  Method
  Description
  `protected Object`
  `clone()`
  Creates and returns a copy of this object.
  `boolean`
  `equals(Object obj)`
  Indicates whether some other object is "equal to" this one.
  `protected void`
  `finalize()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Finalization is deprecated and subject to removal in a future release.
  `final Class<?>`
  `getClass()`
  Returns the runtime class of this `Object`.
  `int`
  `hashCode()`
  Returns a hash code value for this object.
  `final void`
  `notify()`
  Wakes up a single thread that is waiting on this object's monitor.
  `final void`
  `notifyAll()`
  Wakes up all threads that are waiting on this object's monitor.
  `String`
  `toString()`
  Returns a string representation of the object.
  `final void`
  `wait()`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
  `final void`
  `wait(long timeoutMillis)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
  `final void`
  `wait(long timeoutMillis, int nanos)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

- ## 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