Mirror API

com.sun.mirror.apt
Interface AnnotationProcessorFactory


public interface AnnotationProcessorFactory

A factory for creating annotation processors. Each factory is responsible for creating processors for one or more annotation types. The factory is said to support these types.

Each implementation of an AnnotationProcessorFactory must provide a public no-argument constructor to be used by tools to instantiate the factory.

Since:
1.5

Method Summary
 AnnotationProcessor getProcessorFor(Set<AnnotationTypeDeclaration> atds, AnnotationProcessorEnvironment env)
          Returns an annotation processor for a set of annotation types.
 Collection<String> supportedAnnotationTypes()
          Returns the names of the annotation types supported by this factory.
 Collection<String> supportedOptions()
          Returns the options recognized by this factory or by any of the processors it may create.
 

Method Detail

supportedOptions

Collection<String> supportedOptions()
Returns the options recognized by this factory or by any of the processors it may create. Only processor-specific options are included, each of which begins with "-A". For example, if this factory recognizes options such as -Adebug -Aloglevel=3, it will return the strings "-Adebug" and "-Aloglevel".

A tool might use this information to determine if any options provided by a user are unrecognized by any processor, in which case it may wish to report an error.

Returns:
the options recognized by this factory or by any of the processors it may create, or an empty collection if none

supportedAnnotationTypes

Collection<String> supportedAnnotationTypes()
Returns the names of the annotation types supported by this factory. An element of the result may be the canonical (fully qualified) name of a supported annotation type. Alternately it may be of the form "name.*" representing the set of all annotation types with canonical names beginning with "name." Finally, "*" by itself represents the set of all annotation types.

Returns:
the names of the annotation types supported by this factory

getProcessorFor

AnnotationProcessor getProcessorFor(Set<AnnotationTypeDeclaration> atds,
                                    AnnotationProcessorEnvironment env)
Returns an annotation processor for a set of annotation types. The set will be empty if the factory supports "*" and the specified type declarations have no annotations. Note that the set of annotation types may be empty for other reasons, such as giving the factory an opportunity to register a listener. An AnnotationProcessorFactory must gracefully handle an empty set of annotations; an appropriate response to an empty set will often be returning AnnotationProcessors.NO_OP.

Parameters:
atds - type declarations of the annotation types to be processed
env - environment to use during processing
Returns:
an annotation processor for the given annotation types, or null if the types are not supported or the processor cannot be created

Mirror API

Submit a bug or feature
Copyright © 2004, 2011, Oracle and/or its affiliates. All rights reserved.