Class AbstractCompositeGeneratorProcessor

  • All Implemented Interfaces:
    javax.annotation.processing.Processor
    Direct Known Subclasses:
    NativeImageConfigGeneratorProcessor

    abstract class AbstractCompositeGeneratorProcessor
    extends AbstractCommandSpecProcessor
    Base class for writing annotation processors that do something with CommandSpec models. The model is built up once, and from this model, multiple files can be generated. The generation part is delegated to IGenerator implementations.
    Since:
    4.0
    • Constructor Detail

      • AbstractCompositeGeneratorProcessor

        protected AbstractCompositeGeneratorProcessor()
    • Method Detail

      • handleCommands

        protected boolean handleCommands​(java.util.Map<javax.lang.model.element.Element,​CommandLine.Model.CommandSpec> commands,
                                         java.util.Set<? extends javax.lang.model.element.TypeElement> annotations,
                                         javax.annotation.processing.RoundEnvironment roundEnv)
        Description copied from class: AbstractCommandSpecProcessor
        Subclasses must implement this method and do something with the CommandSpec command model objects that were found during compilation.
        Specified by:
        handleCommands in class AbstractCommandSpecProcessor
        Parameters:
        commands - a map of annotated elements to their associated CommandSpec. Note that the key set may contain classes that do not have a @Command annotation but were added to the map because the class has fields annotated with Option or @Parameters.
        annotations - the annotation types requested to be processed
        roundEnv - environment for information about the current and prior round
        Returns:
        whether or not the set of annotation types are claimed by this processor. If true is returned, the annotation types are claimed and subsequent processors will not be asked to process them; if false is returned, the annotation types are unclaimed and subsequent processors may be asked to process them. A processor may always return the same boolean value or may vary the result based on chosen criteria.