Class GetterWrapperForCollectionsAndMaps
- 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.GetterWrapperForCollectionsAndMaps
-
- All Implemented Interfaces:
Assignment
,Writable
public class GetterWrapperForCollectionsAndMaps extends WrapperForCollectionsAndMaps
This wrapper handles the situation were an assignment must be done via a target getter method because there is no setter available. The wrapper checks if there is an 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 targetMappingTarget
before adding the source entries. The goal is that the same collection / map is used as target. Nothing can be added if the getter on the target returns null.- Author:
- Sjaak Derksen
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.mapstruct.ap.internal.model.common.Assignment
Assignment.AssignmentType
-
Nested 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
Constructors Constructor Description GetterWrapperForCollectionsAndMaps(Assignment decoratedAssignment, List<Type> thrownTypesToExclude, Type targetType, boolean fieldAssignment)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Set<Type>
getImportTypes()
Returns a set containing thoseType
s referenced by this model element for which an import statement needs to be declared.-
Methods inherited from class org.mapstruct.ap.internal.model.assignment.WrapperForCollectionsAndMaps
getNullCheckLocalVarName, getNullCheckLocalVarType, getThrownTypes
-
Methods inherited from class org.mapstruct.ap.internal.model.assignment.AssignmentWrapper
createUniqueVarName, getAssignment, getSourceLocalVarName, getSourceLoopVarName, getSourceParameterName, getSourcePresenceCheckerReference, getSourceReference, getSourceType, getType, isCallingUpdateMethod, isFieldAssignment, isSourceReferenceParameter, setAssignment, setSourceLocalVarName, setSourceLoopVarName
-
Methods inherited from class org.mapstruct.ap.internal.writer.FreeMarkerWritable
getTemplateName, getTemplateNameForClass, write
-
-
-
-
Constructor Detail
-
GetterWrapperForCollectionsAndMaps
public GetterWrapperForCollectionsAndMaps(Assignment decoratedAssignment, List<Type> thrownTypesToExclude, Type targetType, boolean fieldAssignment)
- Parameters:
decoratedAssignment
- source RHSthrownTypesToExclude
- set of types to exclude from re-throwingtargetType
- the target typefieldAssignment
- true when this the assignment is to a field rather than via accessors
-
-
Method Detail
-
getImportTypes
public Set<Type> getImportTypes()
Description copied from class:ModelElement
Returns a set containing thoseType
s referenced by this model element for which an import statement needs to be declared.- Specified by:
getImportTypes
in interfaceAssignment
- Overrides:
getImportTypes
in classAssignmentWrapper
- Returns:
- A set with type referenced by this model element. Must not be
null
.
-
-