com.jogamp.gluegen.structgen
Class CStructAnnotationProcessor

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

@SupportedAnnotationTypes(value="com.jogamp.gluegen.structgen.CStruct")
@SupportedSourceVersion(value=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, Sven Gothel, et.al.

Nested Class Summary
static class CStructAnnotationProcessor.AnnotationProcessorJavaStructEmitter
           
 
Field Summary
 
Fields inherited from class javax.annotation.processing.AbstractProcessor
processingEnv
 
Constructor Summary
CStructAnnotationProcessor()
           
 
Method Summary
 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 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