mapDeep method
MapperProperty
mapDeep(
- Mapper mapper,
- Accessor source,
- Accessor target,
- MapperProperty targetProperty,
Implementation
MapperProperty mapDeep(Mapper mapper, Accessor source, Accessor target, MapperProperty targetProperty) {
var isSourceMultiValued = source.isContainer();
var isTargetMultiValued = target.isContainer();
if (isSourceMultiValued != isTargetMultiValued)
throw MapperException("relations must have the same cardinality");
if (isSourceMultiValued) {
return MapList2List(
mapper: mapper,
sourceType: source.getElementType(),
targetType: target.getElementType(),
property: targetProperty,
factory: target.getContainerConstructor()!);
}
else {
return MapDeep(mapper: mapper, sourceType: source.type, targetProperty: targetProperty);
}
}