2013-01-13 26 views
9

Załóżmy, że definiuję adnotację o nazwie @MyAnnotation.Czy procesor adnotacji może być używany do generowania kodu?

Istnieje klasa X która jest zadeklarowana jako:

@MyAnnotation 
class X { .... } 

Teraz w czasie kompilacji chcę skontrolować wszystkich klas adnotacją z @MyAnnotation i zrobić generowanie kodu do kilku plików źródłowych java, które muszą być kompilowane jako dobrze w tym samym procesie.

Czy jest to możliwe przy użyciu procesora adnotacji Java lub innego narzędzia?

+0

http://docs.oracle.com/javase/tutorial/java/javaOO/annotations.html. Spójrz tutaj. To jest możliwe. – vels4j

+1

Do tego służy przetwarzanie adnotacji. Zasadniczo pytasz, czy może zrobić to, co robi. – Bohemian

Odpowiedz

10

Możesz rzucić okiem na Javę apt (Annotation Processing Tool) na coś takiego.

można znaleźć stronę Getting Started, i piękny artykuł (1, 2, 3) o tym, jak używać, aby wygenerować kod.

+0

'Ostrzeżenie: Narzędzie apt i skojarzony z nim interfejs API zostaną usunięte w następnej wersji JDK jako . Te funkcje zostały zastąpione javac i standardowym API przetwarzania adnotacji, javax.annotation.processing i javax.lang.model. " –

13

Narzędzie APT zostało połączone w javac w Javie 6. This to znacznie lepszy samouczek do przetwarzania adnotacji.

Powiązane problemy