|
Der Codegenerator verwendet nun typsichere Collections für Beziehungen und Enums. Standardmäßig werden diese beiden Features des Codegenerators enabled, wenn die Faktor-IPS Nature zu einem Java Projekt mit Compiler Compliance Level >= Java 5 hinzugefügt wird. Die Verwendung kann im .ipsproject File konfiguriert werden.
Der Codegenerator kann optional eine Deep-Copy Methode an den Vertragsklassen generieren. Die Methode kopiert ein Objekt inklusive aller über Composite-Beziehungen erreichbaren Objekte. Beim Anlegen eines neuen Projektes ist die Geneierung standardmäßig ausgeschaltet. Sie kann im .ipsproject File eingeschaltet werden.
Methodensignatur: public IModelObject newCopy();
Der Codegenerator kann optional eine accpect-Methode generieren, mit der alle Objekte die über Composite-Beziehungen erreichbar sind durch einen Visitor „besucht“ werden können. Beim Anlegen eines neuen Projektes ist die Methode standardmäßig ausgeschaltet. Sie kann im .ipsproject File enabled werden.
Methodensignatur: public boolean accept(IModelObjectVisitor visitor);
Der Codegenerator kann optional eine Methode zur Berechnung des Deltas zwischen zwei Vertragsständen generieren. Beim Anlegen eines neuen Projektes ist die Methode standardmäßig ausgeschaltet. Sie kann im .ipsproject File enabled werden.
Methodensignatur: public IModelObjectDelta computeDelta(IModelObject otherObject, IDeltaComputationOptions options)
Bisher konnten in Testfälle ausschließlich skalare Parameter oder Vertragsobjekte mit ihren Attributen eingegeben werden. Bei den Attributen konnten keine verwendet werden, die bei jedem Aufruf der Getter-Methode berechnet wurden. Nun können in einem Testfalltyp an jede Vertragsklasse beliebige Attribute hinzudefiniert werdden, die dann im Testfall erfasst werden können. Das eignet sich zum Beispiel für die Eingabe von Werten des vorherigen Vertragsstandes oder von Eigenschaften von versicherten Personen, die operativ im Partnersystem gespeichert werden, bei der Testfalleingabe aber einfacher an der versicherten Person eingegeben werden können.
Der IpsObjectPath musste bisher immer in der .ipsproject Datei geändert werden. Nun gibt es eine eigene Seite in den ProjectProperties. Die Funktionalität ist noch in Entwicklung und wird zum Release 2.1.0 fertiggestellt. Referenzen auf andere Sourcefolder, andere Projekte und Archive können aber schon bearbeitet werden.
|