Deseo proporcionar anotaciones con algunos valores generados por algunos métodos.Valores de las anotaciones en Java proporcionadas de manera dinámica
yo probamos este hasta el momento:
public @interface MyInterface {
String aString();
}
@MyInterface(aString = MyClass.GENERIC_GENERATED_NAME)
public class MyClass {
static final String GENERIC_GENERATED_NAME = MyClass.generateName(MyClass.class);
public static final String generateName(final Class<?> c) {
return c.getClass().getName();
}
}
Pensamiento GENERIC_GENERATED_NAME
es static final
, se queja de que
El valor del atributo de anotación
MyInterface.aString
debe ser una expresión constante
Entonces, ¿cómo lograr esto?
Ok, entonces entiendo que esto no se puede abordar mediante el uso de anotaciones, ¿verdad? Tal vez tendré que ejecutar alguna herramienta antes de la compilación y completar la fuente Java. ¿Alguna otra sugerencia? – thelost
@thelost Nunca lo había visto todo para ser honesto. Déjame mirar un poco en mi tiempo libre de hoy e intentaré responderte. –