checkers.util
Class AggregateChecker

java.lang.Object
  extended by javax.annotation.processing.AbstractProcessor
      extended by com.sun.source.util.AbstractTypeProcessor
          extended by checkers.util.AggregateChecker
All Implemented Interfaces:
Processor
Direct Known Subclasses:
NullnessChecker

public abstract class AggregateChecker
extends AbstractTypeProcessor

An aggregate checker that packages multiple checkers together. The resulting checker invokes the individual checkers together on the processed files. This class delegates AbstractTypeProcessor responsibilities to each of the checkers. Checker writers need to subclass this class and only override getSupportedCheckers() to indicate the classes of the checkers to be bundled.


Field Summary
 
Fields inherited from class javax.annotation.processing.AbstractProcessor
processingEnv
 
Constructor Summary
AggregateChecker()
           
 
Method Summary
 Set<String> getSupportedAnnotationTypes()
           
protected abstract  Collection<Class<? extends SourceChecker>> getSupportedCheckers()
          Returns the list of supported checkers to be run together.
 Set<String> getSupportedOptions()
           
 SourceVersion getSupportedSourceVersion()
           
 void init(ProcessingEnvironment env)
           
 void typeProcess(TypeElement element, TreePath tree)
           
 void typeProcessingOver()
           
 
Methods inherited from class com.sun.source.util.AbstractTypeProcessor
process
 
Methods inherited from class javax.annotation.processing.AbstractProcessor
getCompletions, isInitialized
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AggregateChecker

public AggregateChecker()
Method Detail

getSupportedCheckers

protected abstract Collection<Class<? extends SourceChecker>> getSupportedCheckers()
Returns the list of supported checkers to be run together. Subclasses need to override this method.


typeProcess

public final void typeProcess(TypeElement element,
                              TreePath tree)
Specified by:
typeProcess in class AbstractTypeProcessor

typeProcessingOver

public void typeProcessingOver()
Overrides:
typeProcessingOver in class AbstractTypeProcessor

init

public final void init(ProcessingEnvironment env)
Specified by:
init in interface Processor
Overrides:
init in class AbstractTypeProcessor

getSupportedOptions

public final Set<String> getSupportedOptions()
Specified by:
getSupportedOptions in interface Processor
Overrides:
getSupportedOptions in class AbstractProcessor

getSupportedAnnotationTypes

public final Set<String> getSupportedAnnotationTypes()
Specified by:
getSupportedAnnotationTypes in interface Processor
Overrides:
getSupportedAnnotationTypes in class AbstractProcessor

getSupportedSourceVersion

public final SourceVersion getSupportedSourceVersion()
Specified by:
getSupportedSourceVersion in interface Processor
Overrides:
getSupportedSourceVersion in class AbstractProcessor