Index: lutincommandline/src/java/org/codelutin/option/OptionActionProcessor.java diff -u /dev/null lutincommandline/src/java/org/codelutin/option/OptionActionProcessor.java:1.1 --- /dev/null Sat Mar 15 21:18:14 2008 +++ lutincommandline/src/java/org/codelutin/option/OptionActionProcessor.java Sat Mar 15 21:18:09 2008 @@ -0,0 +1,35 @@ +package org.codelutin.option; + +import javax.annotation.processing.AbstractProcessor; +import javax.annotation.processing.RoundEnvironment; +import javax.annotation.processing.SupportedAnnotationTypes; +import javax.annotation.processing.SupportedSourceVersion; +import javax.lang.model.element.Element; +import javax.lang.model.element.TypeElement; +import java.util.Set; + +/** @author chemit */ +@SupportedSourceVersion(value = javax.lang.model.SourceVersion.RELEASE_6) +@SupportedAnnotationTypes(value = {"org.codelutin.option.OptionActionAnnotation"}) + +public class OptionActionProcessor extends AbstractProcessor { + + public OptionActionProcessor() { + super(); + } + + public boolean process(Set annotations, RoundEnvironment roundEnv) { + if (annotations == null) { + System.out.println("no annotations..............."); + return false; + } + for (TypeElement annotation : annotations) { + System.out.println("annotation element " + annotation.toString()); + Set res = roundEnv.getElementsAnnotatedWith(annotation); + for (Element re : res) { + System.out.println("elements annotated : " + re); + } + } + return false; + } +} \ No newline at end of file Index: lutincommandline/src/java/org/codelutin/option/OptionActionAnnotation.java diff -u /dev/null lutincommandline/src/java/org/codelutin/option/OptionActionAnnotation.java:1.1 --- /dev/null Sat Mar 15 21:18:14 2008 +++ lutincommandline/src/java/org/codelutin/option/OptionActionAnnotation.java Sat Mar 15 21:18:09 2008 @@ -0,0 +1,11 @@ +package org.codelutin.option; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Retention(RetentionPolicy.RUNTIME) +@Target({ElementType.TYPE}) +public @interface OptionActionAnnotation { +}