src/share/classes/javax/annotation/processing/AbstractProcessor.java

Print this page




  21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  22  * or visit www.oracle.com if you need additional information or have any
  23  * questions.
  24  */
  25 
  26 package javax.annotation.processing;
  27 
  28 import java.util.Set;
  29 import java.util.HashSet;
  30 import java.util.Collections;
  31 import java.util.Objects;
  32 import javax.lang.model.element.*;
  33 import javax.lang.model.SourceVersion;
  34 import javax.tools.Diagnostic;
  35 
  36 /**
  37  * An abstract annotation processor designed to be a convenient
  38  * superclass for most concrete annotation processors.  This class
  39  * examines annotation values to compute the {@linkplain
  40  * #getSupportedOptions options}, {@linkplain
  41  * #getSupportedAnnotationTypes annotations}, and {@linkplain
  42  * #getSupportedSourceVersion source version} supported by its
  43  * subtypes.
  44  *
  45  * <p>The getter methods may {@linkplain Messager#printMessage issue
  46  * warnings} about noteworthy conditions using the facilities available
  47  * after the processor has been {@linkplain #isInitialized
  48  * initialized}.
  49  *
  50  * <p>Subclasses are free to override the implementation and
  51  * specification of any of the methods in this class as long as the
  52  * general {@link javax.annotation.processing.Processor Processor}
  53  * contract for that method is obeyed.
  54  *
  55  * @author Joseph D. Darcy
  56  * @author Scott Seligman
  57  * @author Peter von der Ah&eacute;
  58  * @since 1.6
  59  */
  60 public abstract class AbstractProcessor implements Processor {
  61     /**




  21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  22  * or visit www.oracle.com if you need additional information or have any
  23  * questions.
  24  */
  25 
  26 package javax.annotation.processing;
  27 
  28 import java.util.Set;
  29 import java.util.HashSet;
  30 import java.util.Collections;
  31 import java.util.Objects;
  32 import javax.lang.model.element.*;
  33 import javax.lang.model.SourceVersion;
  34 import javax.tools.Diagnostic;
  35 
  36 /**
  37  * An abstract annotation processor designed to be a convenient
  38  * superclass for most concrete annotation processors.  This class
  39  * examines annotation values to compute the {@linkplain
  40  * #getSupportedOptions options}, {@linkplain
  41  * #getSupportedAnnotationTypes annotation types}, and {@linkplain
  42  * #getSupportedSourceVersion source version} supported by its
  43  * subtypes.
  44  *
  45  * <p>The getter methods may {@linkplain Messager#printMessage issue
  46  * warnings} about noteworthy conditions using the facilities available
  47  * after the processor has been {@linkplain #isInitialized
  48  * initialized}.
  49  *
  50  * <p>Subclasses are free to override the implementation and
  51  * specification of any of the methods in this class as long as the
  52  * general {@link javax.annotation.processing.Processor Processor}
  53  * contract for that method is obeyed.
  54  *
  55  * @author Joseph D. Darcy
  56  * @author Scott Seligman
  57  * @author Peter von der Ah&eacute;
  58  * @since 1.6
  59  */
  60 public abstract class AbstractProcessor implements Processor {
  61     /**