Class FunctionManifestProcessor

java.lang.Object
javax.annotation.processing.AbstractProcessor
io.nosqlbench.virtdata.api.processors.FunctionManifestProcessor
All Implemented Interfaces:
Processor

@SupportedOptions("title") @SupportedSourceVersion(RELEASE_23) @SupportedAnnotationTypes({"io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper","io.nosqlbench.virtdata.api.annotations.PerThreadMapper"}) public class FunctionManifestProcessor extends 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/functions
This operates slightly differently than the service loader facility. The point is to enumerate candidate functions without requiring them to have a no-args constructor.