Avatar billede kernelx Juniormester
18. maj 2016 - 12:29 Der er 2 kommentarer

Java 8 Custom Annotation Processing

Hi @all,

jeg har defineret foelgende annotation:
@Email

Med java 8 kan jeg nu skrive foelgende code:
public void doSomething() {
    @Email String minEmail = "";
    @Email Integer detKanIkkeVaereMinEmail = 2;
}

Nu vil jeg gerne have en annotation processor, som scanner denne code og finder ud af, om der er variabler som er annotered med @Email (minEmail, detKanIkkeVaereMinEmail).

For alle variabler som er annoteret med @Email skal der komme en error, hvis variablen ikke er en String (detKanIkkeVaereMinEmail).

---
public class TypeAnnotationProcessor extends AbstractProcessor implements Processor {

    @Override
    public boolean process(
        Set<? extends TypeElement> annotations,
        RoundEnvironment roundEnv) {
    // hvordan kan jeg faa fat i alt
    // hvad der er annoteret med @Email?
    //
    // roundEnv.getElementsAnnotatedWith(Email.class);
    // finder dem ikke
    }

    // ...

}
---

mange tak for hjelp!

KernelX
Avatar billede arne_v Ekspert
19. maj 2016 - 04:36 #1
Hvad er RetentionPolicy for Email?
Avatar billede kernelx Juniormester
19. maj 2016 - 19:15 #2
Jeg har ikke brug for @Email at RUNTIME. Hvis der kun findes en mulighed ved at have den defineret med RUNTIME, saa er det i orden
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester