Estoy pensando que esto puede no ser posible en Java porque la anotación y sus parámetros se resuelven en tiempo de compilación. Tengo una interfaz de la siguiente manera,
public interface FieldValues {
String[] FIELD1 = new String[]{"value1", "value2"};
}
y otra clase como,
@SomeAnnotation(locations = {"value1", "value2"})
public class MyClass {
....
}
Marco muchas clases con la anotación y me gustaría saber si puedo evitar especificar las cadenas en cada anotación que preferiría usar
@SomeAnnotation(locations = FieldValues.FIELD1)
public class MyClass {
....
}
Sin embargo, esto genera errores de compilación como que el valor de anotación debe ser un inicializador de matriz, etc. ¿Alguien sabe cómo puedo usar una constante de cadena o una constante de cadena [] para proporcionar valor a una anotación?