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
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:
Generated code:
Generated Code
No response
Possible workarounds
No response
MapStruct Version
Mapstruct 1.6.3