Class CStructAnnotationProcessor

  • All Implemented Interfaces:
    javax.annotation.processing.Processor

    @SupportedAnnotationTypes({"com.jogamp.gluegen.structgen.CStruct","com.jogamp.gluegen.structgen.CStructs"})
    @SupportedSourceVersion(RELEASE_11)
    public class CStructAnnotationProcessor
    extends javax.annotation.processing.AbstractProcessor

    If the header file is absolute, the root path is the parent folder of the folder containing the package source, i.e.:

      Header: /gluegen/src/junit/com/jogamp/test/structgen/TestStruct01.h
      Root:   /gluegen/src/junit/..
      Root:   /gluegen/src
     
    Otherwise the user.dir is being used as the root path and the relative header file is appended to it.

    The property jogamp.gluegen.structgen.output allows setting a default outputPath for the generated sources, if the ProcessingEnvironment's structgen.output option is not set.

    If the outputPath is relative, it is appended to the root path, otherwise it is taken as-is.

    User can enable DEBUG while defining property jogamp.gluegen.structgen.debug.

    Author:
    Michael Bien, et al.
    • Constructor Detail

      • CStructAnnotationProcessor

        public CStructAnnotationProcessor()
    • Method Detail

      • init

        public void init​(javax.annotation.processing.ProcessingEnvironment processingEnv)
        Specified by:
        init in interface javax.annotation.processing.Processor
        Overrides:
        init in class javax.annotation.processing.AbstractProcessor
      • process

        public boolean process​(Set<? extends javax.lang.model.element.TypeElement> annotations,
                               javax.annotation.processing.RoundEnvironment env)
        Specified by:
        process in interface javax.annotation.processing.Processor
        Specified by:
        process in class javax.annotation.processing.AbstractProcessor