Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Mirror API
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Mirror API
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Report a bug or request a feature.
Copyright 2004 Sun Microsystems, Inc. All Rights Reserved. Use is subject to license terms.