<dependency>
<groupId>de.faktorzehn.versicherungsmodell</groupId>
<artifactId>vm-basis-extapimapper2</artifactId>
</dependency>
Projekte
ios-basis-extapimapper 2
Die Mapper dieses Schnittstellenmodells sind kompatibel zum neuen Schnittstellenmodell des Versicherungsmodells. Weitere Informationen hierzu befinden sich in der Dokumentation des F10-Versicherungsmodells |
-
stellt Mapper und notwendige Utility-Klassen für die Konvertierung der Modellklassen aus dem Angebotsmodell in DTO-Darstellungen zur Verfügung
-
definiert Abhängigkeiten zu den entsprechenden Mappern aus dem Versicherungsmodell, um die Versicherung und ihre Komponenten mappen zu können
Mapper-Klassen
Für folgende Modellklassen wurde ein Mapper implementiert:
Mapper | Modellklasse |
---|---|
RollenToDtoMapper und RollenToDomainMapper |
RolesAndPartner |
VersicherungsnehmerToDtoMapper und VersicherungsnehmerToDomainMapper |
Role mit der RoleKind POLICY_HOLDER |
BeitragszahlerToDtoMapper und BeitragszahlerToDomainMapper |
Role mit der RoleKind PREMIUM_PAYER |
KorrespondenzempfaengerToDtoMapper und KorrespondenzempfaengerToDomainMapper |
Role mit der RoleKind CORRESPONDENCE_RECIPIENT |
SepaMandatToDtoMapper |
SepaMandat |
Mapper für ein erweitertes Angebotsmodell sollen nach Möglichkeit über Komposition statt Ableitung angebunden werden. Die neue Klasse enthält eine Instanz des Parent-Mappers, ruft eine eigene createDto()-Methode auf und ruft in der eigenen mapToDto()-Methode vor dem Mappen der neuen Attribute die mapToDto()-Methode des Parent-Mappers auf.
Partnerdaten
Die Verarbeitung der Partnerdaten erfolgt über die Mapper aus der Faktor-IBP-Schnittstelle
.
Customizing
Um die Mapper anwenden zu können, muss ein ServiceMappingContext
instanziiert und mitgegeben werden, der mehrere unterstützende Komponenten enthält. Im Standard sind folgende Eigenschaften definiert:
-
BiFunction<Versicherung, VersicherungMappingContext, VersicherungDto> : Das Mapping der Versicherung ist spartenspezifisch und sollte in einer Spartenableitung der jeweiligen Versicherungsmodell-Schnittstelle entnommen werden. Diese Komponente wird für jeden Service benötigt.
-
BiFunction<VorversicherungsInfo, VersicherungMappingContext, VorversicherungsInfoDto> : Das Mapping der Vorversicherungsinfo ist spartenspezifisch und sollte in einer Spartenableitung der jeweiligen Versicherungsmodell-Schnittstelle entnommen werden. Diese Komponente wird für Services benötigt, in denen Vorversicherungsinformationen teil der Ausgabe sind.
-
BiFunction<VersicherungDto, Versicherung> : Das Mapping des VersicherungDto’s ist spartenspezifisch und sollte in einer Spartenableitung der jeweiligen Versicherungsmodell-Schnittstelle entnommen werden. Diese Komponente wird für Services benötigt, in der gesamte Versicherungsdaten mitgegeben werden müssen (beipielsweise die Tarifierung).
-
BiFunction<VersicherungDto, VersicherungMappingContext, Versicherung> : Das Mapping des VersicherungsDto’s ist spartenspezifisch und sollte in einer Spartenableitung der jeweiligen Versicherungsmodell-Schnittstelle entnommen werden. Diese Komponente wird für Services benötigt, in der Versicherungsinformationen relevante Bestandteile sein können (z.B. Tarifierung eines Angebots).
-
BiFunction<VorversicherungsInfoDto, VersicherungMappingContext, VorversicherungsInfo> : Das Mapping des VorversicherungsinfoDto’s ist spartenspezifisch und sollte in einer Spartenableitung der jeweiligen Versicherungsmodell-Schnittstelle entnommen werden. Diese Komponente wird für Services benötigt, in der Vorversicherungsinformationen relevante Bestandteile sein können (z.B. Abschluss eines Angebots).
-
PartnerRepository : Schnittstelle zur Kommunikation mit einem externen Partnersystem. Diese Komponente wird für Services benötigt, in denen Partnerinformationen teil der Ein- oder Ausgabe sind und auf diese Partner über ein externes Partnersystem ermittelt werden.
-
IProductConfiguration: Zugang zur Produktkonfiguration, die bereits in der Superklasse
MappingContext
implementiert ist. Diese Komponente wird für Services benötigt, in denen produktkonfigurierte Enum-Werte ausgelesen werden müssen.
Der ServiceMappingContext
enthält eine integrierte Builder-Klasse, mit der alle benötigten Komponenten durch Verkettung in einem Aufruf hinzugefügt werden können.
Angebotsauskunft
Für die Angebotsauskunft aus dem IOS-Core wurden erweiterte Mapper hinzugefügt:
IOS-Core | IOS-Basis | Anmerkung |
---|---|---|
OfferToDtoDetailsMapper |
VbOfferToDtoDetailsMapper |
Erzeugt die Basis-Ableitung des |
OfferVariantToDtoDetailsMapper |
VbOfferVariantToDtoDetailsMapper |
Erzeugt die Basis-Ableitung des |
Mapper aus der Angebotsauskunft verwenden den OfferDetailsMappingContext
. Um Zugriff auf den ServiceMappingContext
zu haben, der für Mapper verwendet wird, die nicht spezifisch zur Angebotsauskunft gehören, kann sie mit OfferDetailsMappingContext.set(ServiceMappingContext.class.getName(), [Erzeugte Instanz])
gesetzt und darauf über OfferDetailsMappingContext.get(ServiceMappingContext.class.getName())
zugegriffen werden.
Weitere Informationen zu den Mappern der Core-Ebene befinden sich in der IOS-Core Dokumentation.