diff --git a/processor/src/main/java/org/mapstruct/ap/internal/model/WithElementMappingMethod.java b/processor/src/main/java/org/mapstruct/ap/internal/model/ContainerMappingMethod.java similarity index 94% rename from processor/src/main/java/org/mapstruct/ap/internal/model/WithElementMappingMethod.java rename to processor/src/main/java/org/mapstruct/ap/internal/model/ContainerMappingMethod.java index e1f45c37e..6f58fb964 100644 --- a/processor/src/main/java/org/mapstruct/ap/internal/model/WithElementMappingMethod.java +++ b/processor/src/main/java/org/mapstruct/ap/internal/model/ContainerMappingMethod.java @@ -33,13 +33,13 @@ import org.mapstruct.ap.internal.model.source.SelectionParameters; import org.mapstruct.ap.internal.util.Strings; /** - * A {@link MappingMethod} implemented by a {@link Mapper} class which does mapping of typed based methods. + * A {@link MappingMethod} implemented by a {@link Mapper} class which does mapping of generic types. * For example Iterable or Stream. - * The typed elements are mapped either by a {@link TypeConversion} or another mapping method. + * The generic elements are mapped either by a {@link TypeConversion} or another mapping method. * * @author Filip Hrisafov */ -public abstract class WithElementMappingMethod extends MappingMethod { +public abstract class ContainerMappingMethod extends MappingMethod { private final Assignment elementAssignment; private final MethodReference factoryMethod; private final boolean overridden; @@ -47,7 +47,7 @@ public abstract class WithElementMappingMethod extends MappingMethod { private final String loopVariableName; private final SelectionParameters selectionParameters; - WithElementMappingMethod(Method method, Assignment parameterAssignment, MethodReference factoryMethod, + ContainerMappingMethod(Method method, Assignment parameterAssignment, MethodReference factoryMethod, boolean mapNullToDefault, String loopVariableName, List beforeMappingReferences, List afterMappingReferences, @@ -158,7 +158,7 @@ public abstract class WithElementMappingMethod extends MappingMethod { if ( getClass() != obj.getClass() ) { return false; } - WithElementMappingMethod other = (WithElementMappingMethod) obj; + ContainerMappingMethod other = (ContainerMappingMethod) obj; if ( !getResultType().equals( other.getResultType() ) ) { return false; diff --git a/processor/src/main/java/org/mapstruct/ap/internal/model/WithElementMappingMethodBuilder.java b/processor/src/main/java/org/mapstruct/ap/internal/model/ContainerMappingMethodBuilder.java similarity index 94% rename from processor/src/main/java/org/mapstruct/ap/internal/model/WithElementMappingMethodBuilder.java rename to processor/src/main/java/org/mapstruct/ap/internal/model/ContainerMappingMethodBuilder.java index 2073ef0df..447583d27 100644 --- a/processor/src/main/java/org/mapstruct/ap/internal/model/WithElementMappingMethodBuilder.java +++ b/processor/src/main/java/org/mapstruct/ap/internal/model/ContainerMappingMethodBuilder.java @@ -36,12 +36,15 @@ import org.mapstruct.ap.internal.util.Strings; import static org.mapstruct.ap.internal.util.Collections.first; /** - * Builder that can be used to build {@link WithElementMappingMethod}(s). + * Builder that can be used to build {@link ContainerMappingMethod}(s). + * + * @param the builder itself that needs to be used for chaining + * @param the method that the builder builds * * @author Filip Hrisafov */ -public abstract class WithElementMappingMethodBuilder, - M extends WithElementMappingMethod> extends AbstractMappingMethodBuilder { +public abstract class ContainerMappingMethodBuilder, + M extends ContainerMappingMethod> extends AbstractMappingMethodBuilder { private Method method; private SelectionParameters selectionParameters; @@ -51,7 +54,7 @@ public abstract class WithElementMappingMethodBuilder selfType, String errorMessagePart) { + ContainerMappingMethodBuilder(Class selfType, String errorMessagePart) { super( selfType ); this.errorMessagePart = errorMessagePart; } diff --git a/processor/src/main/java/org/mapstruct/ap/internal/model/IterableMappingMethod.java b/processor/src/main/java/org/mapstruct/ap/internal/model/IterableMappingMethod.java index 989add6e9..85bac06a8 100644 --- a/processor/src/main/java/org/mapstruct/ap/internal/model/IterableMappingMethod.java +++ b/processor/src/main/java/org/mapstruct/ap/internal/model/IterableMappingMethod.java @@ -36,9 +36,9 @@ import org.mapstruct.ap.internal.model.source.SelectionParameters; * * @author Gunnar Morling */ -public class IterableMappingMethod extends WithElementMappingMethod { +public class IterableMappingMethod extends ContainerMappingMethod { - public static class Builder extends WithElementMappingMethodBuilder { + public static class Builder extends ContainerMappingMethodBuilder { public Builder() { super( Builder.class, "collection element" ); diff --git a/processor/src/main/java/org/mapstruct/ap/internal/model/PropertyMapping.java b/processor/src/main/java/org/mapstruct/ap/internal/model/PropertyMapping.java index 3cb7e139d..ac1c59a5e 100644 --- a/processor/src/main/java/org/mapstruct/ap/internal/model/PropertyMapping.java +++ b/processor/src/main/java/org/mapstruct/ap/internal/model/PropertyMapping.java @@ -552,11 +552,11 @@ public class PropertyMapping extends ModelElement { } private Assignment forgeWithElementMapping(Type sourceType, Type targetType, SourceRHS source, - ExecutableElement element, WithElementMappingMethodBuilder builder) { + ExecutableElement element, ContainerMappingMethodBuilder builder) { ForgedMethod methodRef = prepareForgedMethod( sourceType, targetType, source, element ); - WithElementMappingMethod iterableMappingMethod = builder + ContainerMappingMethod iterableMappingMethod = builder .mappingContext( ctx ) .method( methodRef ) .selectionParameters( selectionParameters ) diff --git a/processor/src/main/java/org/mapstruct/ap/internal/model/StreamMappingMethod.java b/processor/src/main/java/org/mapstruct/ap/internal/model/StreamMappingMethod.java index ebf68019f..ed8b7ceb1 100644 --- a/processor/src/main/java/org/mapstruct/ap/internal/model/StreamMappingMethod.java +++ b/processor/src/main/java/org/mapstruct/ap/internal/model/StreamMappingMethod.java @@ -40,11 +40,11 @@ import static org.mapstruct.ap.internal.util.Collections.first; * * @author Filip Hrisafov */ -public class StreamMappingMethod extends WithElementMappingMethod { +public class StreamMappingMethod extends ContainerMappingMethod { private final Set helperImports; - public static class Builder extends WithElementMappingMethodBuilder { + public static class Builder extends ContainerMappingMethodBuilder { public Builder() { super( Builder.class, "stream element" ); diff --git a/processor/src/main/java/org/mapstruct/ap/internal/processor/MapperCreationProcessor.java b/processor/src/main/java/org/mapstruct/ap/internal/processor/MapperCreationProcessor.java index 6ddc71b3a..1d075c81e 100644 --- a/processor/src/main/java/org/mapstruct/ap/internal/processor/MapperCreationProcessor.java +++ b/processor/src/main/java/org/mapstruct/ap/internal/processor/MapperCreationProcessor.java @@ -36,6 +36,8 @@ import javax.lang.model.util.Elements; import javax.lang.model.util.Types; import org.mapstruct.ap.internal.model.BeanMappingMethod; +import org.mapstruct.ap.internal.model.ContainerMappingMethod; +import org.mapstruct.ap.internal.model.ContainerMappingMethodBuilder; import org.mapstruct.ap.internal.model.Decorator; import org.mapstruct.ap.internal.model.DefaultMapperReference; import org.mapstruct.ap.internal.model.DelegatingMethod; @@ -48,8 +50,6 @@ import org.mapstruct.ap.internal.model.MappingBuilderContext; import org.mapstruct.ap.internal.model.MappingMethod; import org.mapstruct.ap.internal.model.StreamMappingMethod; import org.mapstruct.ap.internal.model.ValueMappingMethod; -import org.mapstruct.ap.internal.model.WithElementMappingMethod; -import org.mapstruct.ap.internal.model.WithElementMappingMethodBuilder; import org.mapstruct.ap.internal.model.common.Type; import org.mapstruct.ap.internal.model.common.TypeFactory; import org.mapstruct.ap.internal.model.source.ForgedMethod; @@ -446,8 +446,8 @@ public class MapperCreationProcessor implements ModelElementProcessor M createWithElementMappingMethod(SourceMethod method, - MappingOptions mappingOptions, WithElementMappingMethodBuilder builder) { + private M createWithElementMappingMethod(SourceMethod method, + MappingOptions mappingOptions, ContainerMappingMethodBuilder builder) { FormattingParameters formattingParameters = null; SelectionParameters selectionParameters = null;