Class ExistingInstanceSetterWrapperForCollectionsAndMaps
java.lang.Object
org.mapstruct.ap.internal.writer.FreeMarkerWritable
org.mapstruct.ap.internal.model.common.ModelElement
org.mapstruct.ap.internal.model.assignment.AssignmentWrapper
org.mapstruct.ap.internal.model.assignment.WrapperForCollectionsAndMaps
org.mapstruct.ap.internal.model.assignment.SetterWrapperForCollectionsAndMapsWithNullCheck
org.mapstruct.ap.internal.model.assignment.ExistingInstanceSetterWrapperForCollectionsAndMaps
- All Implemented Interfaces:
Assignment,Writable
public class ExistingInstanceSetterWrapperForCollectionsAndMaps
extends SetterWrapperForCollectionsAndMapsWithNullCheck
This wrapper handles the situation where an assignment is done for an update method.
In case of a pre-existing target the wrapper checks if there is a collection or map initialized on the target bean
(not null). If so it uses the addAll (for collections) or putAll (for maps). The collection / map is cleared in case
of a pre-existing target
MappingTargetbefore adding the source entries.
If there is no pre-existing target, or the target Collection / Map is not initialized (null) the setter is used to
create a new Collection / Map with the copy constructor.- Author:
- Sjaak Derksen
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.mapstruct.ap.internal.model.common.Assignment
Assignment.AssignmentTypeNested classes/interfaces inherited from interface org.mapstruct.ap.internal.writer.Writable
Writable.Context -
Field Summary
Fields inherited from class org.mapstruct.ap.internal.model.assignment.AssignmentWrapper
fieldAssignment -
Constructor Summary
ConstructorsConstructorDescriptionExistingInstanceSetterWrapperForCollectionsAndMaps(Assignment decoratedAssignment, List<Type> thrownTypesToExclude, Type targetType, org.mapstruct.ap.internal.gem.NullValueCheckStrategyGem nvcs, org.mapstruct.ap.internal.gem.NullValuePropertyMappingStrategyGem nvpms, TypeFactory typeFactory, boolean fieldAssignment) -
Method Summary
Modifier and TypeMethodDescriptionReturns a set containing thoseTypes referenced by this model element for which an import statement needs to be declared.booleanbooleanbooleanMethods inherited from class org.mapstruct.ap.internal.model.assignment.SetterWrapperForCollectionsAndMapsWithNullCheck
isDirectAssignment, isEnumSetMethods inherited from class org.mapstruct.ap.internal.model.assignment.WrapperForCollectionsAndMaps
getNullCheckLocalVarName, getNullCheckLocalVarType, getThrownTypesMethods inherited from class org.mapstruct.ap.internal.model.assignment.AssignmentWrapper
createUniqueVarName, getAssignment, getSourceLocalVarName, getSourceLoopVarName, getSourceParameterName, getSourcePresenceCheckerReference, getSourceReference, getSourceType, getType, isCallingUpdateMethod, isFieldAssignment, isSourceReferenceParameter, setAssignment, setSourceLocalVarName, setSourceLoopVarNameMethods inherited from class org.mapstruct.ap.internal.writer.FreeMarkerWritable
getTemplateName, getTemplateNameForClass, write
-
Constructor Details
-
ExistingInstanceSetterWrapperForCollectionsAndMaps
public ExistingInstanceSetterWrapperForCollectionsAndMaps(Assignment decoratedAssignment, List<Type> thrownTypesToExclude, Type targetType, org.mapstruct.ap.internal.gem.NullValueCheckStrategyGem nvcs, org.mapstruct.ap.internal.gem.NullValuePropertyMappingStrategyGem nvpms, TypeFactory typeFactory, boolean fieldAssignment)
-
-
Method Details
-
getImportTypes
Description copied from class:ModelElementReturns a set containing thoseTypes referenced by this model element for which an import statement needs to be declared.- Specified by:
getImportTypesin interfaceAssignment- Overrides:
getImportTypesin classSetterWrapperForCollectionsAndMapsWithNullCheck- Returns:
- A set with type referenced by this model element. Must not be
null.
-
isIncludeElseBranch
public boolean isIncludeElseBranch() -
isMapNullToDefault
public boolean isMapNullToDefault() -
isMapNullToClear
public boolean isMapNullToClear()
-