You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
59 lines
1.1 KiB
59 lines
1.1 KiB
/*
|
|
* Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved.
|
|
* ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*/
|
|
|
|
package javax.tools;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.Collections;
|
|
import java.util.List;
|
|
|
|
/**
|
|
* Provides an easy way to collect diagnostics in a list.
|
|
*
|
|
* @param <S> the type of source objects used by diagnostics received
|
|
* by this object
|
|
*
|
|
* @author Peter von der Ahé
|
|
* @since 1.6
|
|
*/
|
|
public final class DiagnosticCollector<S> implements DiagnosticListener<S> {
|
|
private List<Diagnostic<? extends S>> diagnostics =
|
|
Collections.synchronizedList(new ArrayList<Diagnostic<? extends S>>());
|
|
|
|
public void report(Diagnostic<? extends S> diagnostic) {
|
|
diagnostic.getClass(); // null check
|
|
diagnostics.add(diagnostic);
|
|
}
|
|
|
|
/**
|
|
* Gets a list view of diagnostics collected by this object.
|
|
*
|
|
* @return a list view of diagnostics
|
|
*/
|
|
public List<Diagnostic<? extends S>> getDiagnostics() {
|
|
return Collections.unmodifiableList(diagnostics);
|
|
}
|
|
}
|