Hola: quería asegurarme de que haya una anotación presente en el momento de la compilación en una clase. Es posible ? Me doy cuenta de que las annoataions son, en sí mismas, clases, así que supongo que sí, pero no estoy seguro sintácticamente dónde y cómo aplicar/implementar tal estructura en mis clases.Aplicación de anotaciones Java en tiempo de compilación
Respuesta
Puede escribir un procesador de anotaciones para ejecutar una lógica arbitraria en tiempo de compilación.
Desde un procesador de anotaciones, puede hacer cosas como comprobar si una clase tiene una estructura particular o miembro presente si existe una anotación particular en esa clase. Son bastante flexibles: para tener una idea más clara de lo que puedes hacer con ellos echa un vistazo a the API. También se admiten en IDEs principales como Eclipse y Netbeans.
Una introducción a la escritura de un procesador de anotación es here.
Esta es una buena respuesta. Voy a esperar para ver si hay un nivel más alto o un enfoque más simple (es decir, una forma de simplemente hacer cumplir esto en el código/clases existente). – jayunit100
Por lo que puedo decir, el procesador de anotaciones omitirá el procesamiento en las clases que aún no tienen las anotaciones, que no parece ser lo que el OP está buscando. Estoy buscando la misma solución, así que si me equivoco, me encantaría un ejemplo. –
Si usa @SupportedAnnotationTypes ("*") en su procesador, recogerá todas las clases, incluso si no hay anotaciones en él. – prunge
- 1. Escaneo de anotaciones Java en el tiempo de ejecución
- 2. Transformación de código Java en tiempo de compilación
- 3. Mostrar la marca de tiempo de compilación en una aplicación
- 4. Terminología Java: ¿Por qué error en tiempo de compilación y no excepción en tiempo de compilación?
- 5. Anotaciones Java-like en C++
- 6. ¿Cuándo se ejecutan las anotaciones de Java?
- 7. Anotaciones de Java Adapter
- 8. compilador de clases java y compilación en tiempo de ejecución
- 9. Deshabilitar el registro en Java en tiempo de compilación
- 10. ¿Cómo afirmar algo en tiempo de compilación en Java?
- 11. ¿Cómo se especifica el nombre para las anotaciones de recursos en tiempo de compilación?
- 12. anotaciones Java
- 13. offsetof en tiempo de compilación
- 14. compilación en memoria de Java
- 15. Crear plantillas T4 en tiempo de ejecución (tiempo de compilación)?
- 16. Tiempo de impresión Java de la última compilación
- 17. ¿Por qué las anotaciones Java?
- 18. Java Generics 'Incompatible Type' Error de tiempo de compilación
- 19. ¿Utiliza anotaciones Java?
- 20. ¿Cómo usar las anotaciones Java para modificar el código fuente antes de la compilación final?
- 21. anotaciones de registro para Java
- 22. Tiempo de compilación de perfiles
- 23. impresión sizeof (T) en tiempo de compilación
- 24. Corrección de const en Java utilizando anotaciones?
- 25. Constantes de matriz en tiempo de compilación
- 26. Reflejo de tiempo de compilación en C#
- 27. hashing de cadena en tiempo de compilación
- 28. Tipo de especialización en tiempo de compilación
- 29. operador sizeof en tiempo de compilación o tiempo de ejecución
- 30. GCC optimización en tiempo flotante en tiempo de compilación
A menudo he visto las comprobaciones de anotación utilizadas como parte de un conjunto de pruebas unitarias. Que este trabajo para usted? – templatetypedef
Bueno, tengo algunas constantes que deben obtenerse de las clases. Las clases tienen un constructor feo, así que no puedo aplicarlas usando getters. Así que pensé en anotar la clase usando anotaciones con los parámetros constantes como campos de anotación. – jayunit100