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