Class FunctionManifestProcessor
java.lang.Object
javax.annotation.processing.AbstractProcessor
io.nosqlbench.virtdata.processors.FunctionManifestProcessor
- All Implemented Interfaces:
javax.annotation.processing.Processor
@SupportedOptions("title")
@SupportedSourceVersion(RELEASE_11)
@SupportedAnnotationTypes({"io.nosqlbench.virtdata.annotations.ThreadSafeMapper","io.nosqlbench.virtdata.annotations.PerThreadMapper"})
public class FunctionManifestProcessor
extends javax.annotation.processing.AbstractProcessor
This annotation processor is responsible for finding all annotated functions and adding
them to the manifest file for the current project.
Specifically, any class annotated as
ThreadSafeMapper
or PerThreadMapper are recorded in
classes/META-INF/functionsThis operates slightly differently than the service loader facility. The point is to enumerate candidate functions without requiring them to have a no-args constructor.
-
Field Summary
-
Constructor Summary
Constructors Constructor Description FunctionManifestProcessor() -
Method Summary
-
Constructor Details
-
FunctionManifestProcessor
public FunctionManifestProcessor()
-
-
Method Details
-
init
public void init(javax.annotation.processing.ProcessingEnvironment processingEnv)- Specified by:
initin interfacejavax.annotation.processing.Processor- Overrides:
initin classjavax.annotation.processing.AbstractProcessor
-
process
public boolean process(java.util.Set<? extends javax.lang.model.element.TypeElement> annotations, javax.annotation.processing.RoundEnvironment roundEnv)- Specified by:
processin interfacejavax.annotation.processing.Processor- Specified by:
processin classjavax.annotation.processing.AbstractProcessor
-