New & Noteworthy 2.1.0 Milestone 1

Java 5 typsichere Collections und Enums

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.

Copy Support

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();

Visitor Support

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);

Delta Support

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)

Testunterstützung

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.

Bearbeiten des IpsObjectPath

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.