Google Code, reflections e annotazioni: recuperare la lista delle classi annotate

Se volete, a runtime, recuperare la lista della classi che avete annotato in qualche modo, magari con una annotazione vostra, utilizzando la libreria Reflections del mondo di Google Code è veramente semplice.
Le api di cui parlo sono queste: https://code.google.com/p/reflections e fondamentalmente eseguono un scansione del classpath per fornire informazioni riguardante classi, tipi, annotazioni, risorse e altro a runtime.

Questo piccolo piccolo pezzo di codice recupera la lista delle classi del package “nicola.test.googlereflections” che sono annotate con l’annotazione @Lucia

  Reflections reflections = new Reflections("nicola.test.googlereflections");
 
  Set<Class<?>> annotated = 
          reflections.getTypesAnnotatedWith(Lucia.class);
 
  for (Class<?> c: annotated) {
	  System.out.println(c.getCanonicalName());
  }

al momento la dipendenza è questa:

<dependency>
         <groupId>org.reflections</groupId>
         <artifactId>reflections</artifactId>
         <version>0.9.9-RC1</version>
</dependency>

Allego anche un gran bell’esempio, per dimostrare che tutto questo è reale.

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>