Witam
Ogólnie jak wiadomo adnotacje w javie można pobrać za pomocą np refleksji np field.getAnnotation(Adnotacja.class) i następnie pobrać jej dane itd.
Mam takie 1 ciekawe pytanie bardzo interesuje mnie odpowiedź muszę przyznać:
Jak można w jakiejś tam funkcji (nieważne jakiej) odczytać domyślne wartości danej adnotacji ??
Ja napisałem coś takiego ale nie mogę uwierzyć, że nie istnieje łatwiejsze (piękniejsze rozwiązanie):
Method[] methods = MyAnnotation.class.getDeclaredMethods();
for(Method m : methods){
if(m.getName().equals("valueA")){
valueA = (Integer)m.getDefaultValue();
}
//mase if :)
....
}
Ogólnie czy nie istnieje jakiś narzędzie coś a la wrapper dla adnotacji ?? coś jak Integer dla int czy Float dla float itp ??
Takie coś abym miał Klasę która jest odzwierciedleniem pól jakie ma adnotacja które są inicjalizowane domyślnymi wartościami (o ile dane pole w adnotacji ma default) ?? Może ktoś podać jakiś przykład takiego wrappera ??
Ja znalazłem coś takiego
http://www.jakobk.com/2010/09/create-annotation-instances-at-runtime/
ale niestety nie mogę użyć javax.enterprise.util.AnnotationLiteral i nie wiem czy to jest naprawdę to czego ja szukam :/
Ogólnie napisałem sobie takiego wrappera ale zawiera mnóstwo ifów :/ nie sądzę , żeby to było dobre rozwiązanie mojego problemu ...