Select Git revision
SettingMapper.java 1.57 KiB
package de.ozgcloud.admin.settings;
import org.mapstruct.Mapper;
import org.mapstruct.MappingTarget;
import de.ozgcloud.admin.settings.AlfaKonfiguration.AlfaKonfigurationBuilder;
import de.ozgcloud.admin.settings.AnwendungsKonfiguration.AnwendungsKonfigurationBuilder;
import de.ozgcloud.admin.settings.VorgangManagerKonfiguration.VorgangManagerKonfigurationBuilder;
import de.ozgcloud.admin.settings.postfach.Absender;
import de.ozgcloud.admin.settings.postfach.AbsenderVorgangManager;
import de.ozgcloud.admin.settings.postfach.PostfachSettingBody;
@Mapper
public interface SettingMapper {
public default AnwendungsKonfigurationBuilder mapToAnwendungKonfiguration(@MappingTarget AnwendungsKonfigurationBuilder builder,
SettingBody body) {
if (body == null) {
return builder;
}
if (body instanceof PostfachSettingBody) {
if (builder instanceof AlfaKonfigurationBuilder) {
return addPostfachToAlfaKonfiguration((AlfaKonfigurationBuilder) builder, (PostfachSettingBody) body);
} else if (builder instanceof VorgangManagerKonfigurationBuilder) {
return addPostfachToVorgangManagerKonfiguration((VorgangManagerKonfigurationBuilder) builder, (PostfachSettingBody) body);
}
}
return builder;
}
AlfaKonfigurationBuilder addPostfachToAlfaKonfiguration(@MappingTarget AlfaKonfigurationBuilder builder, PostfachSettingBody body);
VorgangManagerKonfigurationBuilder addPostfachToVorgangManagerKonfiguration(@MappingTarget VorgangManagerKonfigurationBuilder builder,
PostfachSettingBody body);
AbsenderVorgangManager mapAbsenderToAbsenderVorgangManager(Absender absender);
}