-
-
Notifications
You must be signed in to change notification settings - Fork 1k
Closed
Milestone
Description
Use case
Introduce a new feature that can customize the IllegalArgumentException exception thrown, when a unexpected SubClassMapping is encountered.
Like the EnumMapping#unexpectedValueMappingException used to customize EnumMapping exception
Mapping example:
@SubclassMapping(target = GroupSpecificationEntity.class, source = GroupSpecification.class)
@SubclassMapping(target = SiteSpecificationEntity.class, source = SiteSpecification.class)
LocationSpecificationEntity map(LocationSpecification source);Generated code:
@Override
public Target map(Source source) {
if ( source == null ) {
return null;
}
if (source instanceof GroupSpecification) {
return groupSpecificationToGroupSpecificationEntity( (GroupSpecification) source );
}
else if (source instanceof SiteSpecification) {
return siteSpecificationToSiteSpecificationEntity( (SiteSpecification) source );
}
else {
throw new IllegalArgumentException("Not all subclasses are supported for this mapping. Missing for " + source.getClass());
}
}Generated Code
No response
Possible workarounds
No response
MapStruct Version
Mapstruct 1.6.3
Reactions are currently unavailable