<Property name="additionalAnnotations" value="org.faktorips.runtime.annotation.IpsGenerated"/>
Generatoroptionen
Annotations
Es gibt mehrere Generatoroptionen, die die Generierung von Annotations am generierten Code steuern. Wie im Kapitel Manuelle Anpassungen des generierten Codes beschrieben wird an allen von Faktor-IPS generierten Elementen das Javadoc-Tag @generated
oder @restrainedmodifiable
generiert. Sollen generierte Methoden zusätzlich auch über Annotations markiert werden, um sie z.B. von der Überprüfung durch Code-Quality-Tools auszunehmen, wird die Option additionalAnnotations
genutzt, z.B.
Damit wird im generierten Javacode import org.faktorips.runtime.annotation.IpsGenerated
und an jeder generierten Methode @IpsGenerated
generiert.
Mehrere Annotations können durch Strichpunkt getrennt werden:
<Property name="additionalAnnotations" value="org.faktorips.runtime.annotation.IpsGenerated;edu.umd.cs.findbugs.annotations.SuppressFBWarnings"/>
Sollen die Annotations nur an mit @generated
markierten Methoden generiert werden, nicht aber an solchen mit @restrainedmodifiable
- die potentiell handgeschriebenen Code beinhalten können, welcher z.B. bei der Prüfung auf Codeabdeckung durch Testfälle mit betrachtet werden soll - kann dies über folgende Einstellung erreicht werden:
<Property name="additionalAnnotationsLocation" value="OnlyGenerated"/>
Werden dagegen öfter Annotations von Hand hinzugefügt ist es mühsam, jedes Mal @customizedAnnotations ADDED zu verwenden. Häufig verwendete Annotations können mit der Option retainAnnotations
vom automatischen Entfernen aus dem generierten Code ausgenommen werden. Beispielsweise kann die @Override
-Annotation verbleiben, wenn Interfaces Methoden definieren, die im generierten Code enthalten sind.
<Property name="retainAnnotations" value="Override"/>