DiagnosticCollector (Java SE 26 & JDK 26)
Description: declaration: module: java.compiler, package: javax.tools, class: DiagnosticCollector
Keywords: javax.tools.DiagnosticCollector class

# Class DiagnosticCollector<S>

java.lang.Object
javax.tools.DiagnosticCollector<S>

Type Parameters:
  `S` - the type of source objects used by diagnostics received by this object

All Implemented Interfaces:
  `DiagnosticListener<S>`

public final class DiagnosticCollector<S> extends Object implements DiagnosticListener<S>
Provides an easy way to collect diagnostics in a list.

Since:
  1.6

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `DiagnosticCollector()`
  Creates a new instance of DiagnosticCollector.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `List<Diagnostic<? extends S>>`
  `getDiagnostics()`
  Returns a list view of diagnostics collected by this object.
  `void`
  `report(Diagnostic<? extends S> diagnostic)`
  Invoked when a problem is found.

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

  - ### DiagnosticCollector

    public DiagnosticCollector()
    Creates a new instance of DiagnosticCollector.

- ## Method Details

  - ### report

    public void report(Diagnostic<? extends S> diagnostic)
    Description copied from interface: `DiagnosticListener`
    Invoked when a problem is found.
    Specified by:
      `report` in interface `DiagnosticListener<S>`
    Parameters:
      `diagnostic` - a diagnostic representing the problem that was found

  - ### getDiagnostics

    public List<Diagnostic<? extends S>> getDiagnostics()
    Returns a list view of diagnostics collected by this object.
    Returns:
      a list view of diagnostics