Class CStructAnnotationProcessor

java.lang.Object
javax.annotation.processing.AbstractProcessor
com.jogamp.gluegen.structgen.CStructAnnotationProcessor
All Implemented Interfaces:
javax.annotation.processing.Processor

@SupportedAnnotationTypes({"com.jogamp.gluegen.structgen.CStruct","com.jogamp.gluegen.structgen.CStructs"}) @SupportedSourceVersion(RELEASE_6) 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.
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static class 
     
  • Field Summary

    Fields inherited from class javax.annotation.processing.AbstractProcessor

    processingEnv
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    init(javax.annotation.processing.ProcessingEnvironment processingEnv)
     
    boolean
    process(Set<? extends javax.lang.model.element.TypeElement> annotations, javax.annotation.processing.RoundEnvironment env)
     

    Methods inherited from class javax.annotation.processing.AbstractProcessor

    getCompletions, getSupportedAnnotationTypes, getSupportedOptions, getSupportedSourceVersion, isInitialized

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • CStructAnnotationProcessor

      public CStructAnnotationProcessor()
  • Method Details

    • 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