mirror of
https://github.com/mapstruct/mapstruct.git
synced 2025-07-12 00:00:08 +08:00
#1012 rename new abstract builder and mapping methods; improve Javadoc
This commit is contained in:
parent
029368494b
commit
5cb80cbb97
@ -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<LifecycleCallbackMethodReference> beforeMappingReferences,
|
||||
List<LifecycleCallbackMethodReference> 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;
|
@ -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 <B> the builder itself that needs to be used for chaining
|
||||
* @param <M> the method that the builder builds
|
||||
*
|
||||
* @author Filip Hrisafov
|
||||
*/
|
||||
public abstract class WithElementMappingMethodBuilder<B extends WithElementMappingMethodBuilder<B, M>,
|
||||
M extends WithElementMappingMethod> extends AbstractMappingMethodBuilder<B, M> {
|
||||
public abstract class ContainerMappingMethodBuilder<B extends ContainerMappingMethodBuilder<B, M>,
|
||||
M extends ContainerMappingMethod> extends AbstractMappingMethodBuilder<B, M> {
|
||||
|
||||
private Method method;
|
||||
private SelectionParameters selectionParameters;
|
||||
@ -51,7 +54,7 @@ public abstract class WithElementMappingMethodBuilder<B extends WithElementMappi
|
||||
private String errorMessagePart;
|
||||
private String callingContextTargetPropertyName;
|
||||
|
||||
WithElementMappingMethodBuilder(Class<B> selfType, String errorMessagePart) {
|
||||
ContainerMappingMethodBuilder(Class<B> selfType, String errorMessagePart) {
|
||||
super( selfType );
|
||||
this.errorMessagePart = errorMessagePart;
|
||||
}
|
@ -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<Builder, IterableMappingMethod> {
|
||||
public static class Builder extends ContainerMappingMethodBuilder<Builder, IterableMappingMethod> {
|
||||
|
||||
public Builder() {
|
||||
super( Builder.class, "collection element" );
|
||||
|
@ -552,11 +552,11 @@ public class PropertyMapping extends ModelElement {
|
||||
}
|
||||
|
||||
private Assignment forgeWithElementMapping(Type sourceType, Type targetType, SourceRHS source,
|
||||
ExecutableElement element, WithElementMappingMethodBuilder<?, ? extends WithElementMappingMethod> builder) {
|
||||
ExecutableElement element, ContainerMappingMethodBuilder<?, ? extends ContainerMappingMethod> builder) {
|
||||
|
||||
ForgedMethod methodRef = prepareForgedMethod( sourceType, targetType, source, element );
|
||||
|
||||
WithElementMappingMethod iterableMappingMethod = builder
|
||||
ContainerMappingMethod iterableMappingMethod = builder
|
||||
.mappingContext( ctx )
|
||||
.method( methodRef )
|
||||
.selectionParameters( selectionParameters )
|
||||
|
@ -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<Type> helperImports;
|
||||
|
||||
public static class Builder extends WithElementMappingMethodBuilder<Builder, StreamMappingMethod> {
|
||||
public static class Builder extends ContainerMappingMethodBuilder<Builder, StreamMappingMethod> {
|
||||
|
||||
public Builder() {
|
||||
super( Builder.class, "stream element" );
|
||||
|
@ -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<List<Sourc
|
||||
return mappingMethods;
|
||||
}
|
||||
|
||||
private <M extends WithElementMappingMethod> M createWithElementMappingMethod(SourceMethod method,
|
||||
MappingOptions mappingOptions, WithElementMappingMethodBuilder<?, M> builder) {
|
||||
private <M extends ContainerMappingMethod> M createWithElementMappingMethod(SourceMethod method,
|
||||
MappingOptions mappingOptions, ContainerMappingMethodBuilder<?, M> builder) {
|
||||
|
||||
FormattingParameters formattingParameters = null;
|
||||
SelectionParameters selectionParameters = null;
|
||||
|
Loading…
x
Reference in New Issue
Block a user