Class SourceRHS
- java.lang.Object
-
- org.mapstruct.ap.internal.writer.FreeMarkerWritable
-
- org.mapstruct.ap.internal.model.common.ModelElement
-
- org.mapstruct.ap.internal.model.common.SourceRHS
-
- All Implemented Interfaces:
Assignment,Writable
public class SourceRHS extends ModelElement implements Assignment
SourceRHS Assignment. Right Hand Side (RHS), source part of the assignment. This class contains all information on the source side of an assignment needed for common use in the mapping.- 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
-
-
Constructor Summary
Constructors Constructor Description SourceRHS(String sourceParameterName, String sourceReference, PresenceCheck sourcePresenceCheckerReference, Type sourceType, Set<String> existingVariableNames, String sourceErrorMessagePart)SourceRHS(String sourceReference, Type sourceType, Set<String> existingVariableNames, String sourceErrorMessagePart)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description StringcreateUniqueVarName(String desiredName)Creates an unique safe (local) variable name.Set<Type>getImportTypes()Returns a set containing thoseTypes referenced by this model element for which an import statement needs to be declared.StringgetSourceErrorMessagePart()StringgetSourceLocalVarName()StringgetSourceLoopVarName()SeeAssignment.getSourceLoopVarName()(java.lang.String) }StringgetSourceParameterName()Returns the source parameter name, to which this assignment applies.PresenceCheckgetSourcePresenceCheckerReference()the source presence checker referenceStringgetSourceReference()the source reference being a source-getter, a constant, nested method call, etc.TypegetSourceType()the source type used in the matching processTypegetSourceTypeForMatching()The source type that is to be used when resolving the mapping from source to target.List<Type>getThrownTypes()returns all types exception types thrown by this assignment.Assignment.AssignmentTypegetType()Returns whether the type of assignmentbooleanisCallingUpdateMethod()booleanisSourceReferenceParameter()voidsetAssignment(Assignment assignment)An assignment in itself can wrap another assignment.voidsetSourceLocalVarName(String sourceLocalVarName)Replaces the sourceReference at the call site in the assignment in the template with this sourceLocalVarName.voidsetSourceLoopVarName(String sourceLoopVarName)Replaces the sourceLocalVar or sourceReference at the call site in the assignment in the template with this sourceLoopVarName.voidsetSourcePresenceCheckerReference(PresenceCheck sourcePresenceCheckerReference)voidsetUseElementAsSourceTypeForMatching(boolean useElementAsSourceTypeForMatching)For collection type, use element as source type to find a suitable mapping method.StringtoString()-
Methods inherited from class org.mapstruct.ap.internal.writer.FreeMarkerWritable
getTemplateName, getTemplateNameForClass, write
-
-
-
-
Method Detail
-
getSourceReference
public String getSourceReference()
Description copied from interface:Assignmentthe source reference being a source-getter, a constant, nested method call, etc.- Specified by:
getSourceReferencein interfaceAssignment- Returns:
- source reference
-
isSourceReferenceParameter
public boolean isSourceReferenceParameter()
- Specified by:
isSourceReferenceParameterin interfaceAssignment- Returns:
- true when the source reference is the source parameter (and not a property of the source parameter type)
-
getSourcePresenceCheckerReference
public PresenceCheck getSourcePresenceCheckerReference()
Description copied from interface:Assignmentthe source presence checker reference- Specified by:
getSourcePresenceCheckerReferencein interfaceAssignment- Returns:
- source reference
-
setSourcePresenceCheckerReference
public void setSourcePresenceCheckerReference(PresenceCheck sourcePresenceCheckerReference)
-
getSourceType
public Type getSourceType()
Description copied from interface:Assignmentthe source type used in the matching process- Specified by:
getSourceTypein interfaceAssignment- Returns:
- source type (can be null)
-
createUniqueVarName
public String createUniqueVarName(String desiredName)
Description copied from interface:AssignmentCreates an unique safe (local) variable name.- Specified by:
createUniqueVarNamein interfaceAssignment- Parameters:
desiredName- the desired name- Returns:
- the desired name, made unique in the scope of the bean mapping.
-
getSourceLocalVarName
public String getSourceLocalVarName()
Description copied from interface:Assignment- Specified by:
getSourceLocalVarNamein interfaceAssignment- Returns:
- local variable name (can be null if not set)
-
setSourceLocalVarName
public void setSourceLocalVarName(String sourceLocalVarName)
Description copied from interface:AssignmentReplaces the sourceReference at the call site in the assignment in the template with this sourceLocalVarName. The sourceLocalVarName can subsequently be used for e.g. null checking.- Specified by:
setSourceLocalVarNamein interfaceAssignment- Parameters:
sourceLocalVarName- source local variable name
-
getSourceLoopVarName
public String getSourceLoopVarName()
Description copied from interface:AssignmentSeeAssignment.getSourceLoopVarName()(java.lang.String) }- Specified by:
getSourceLoopVarNamein interfaceAssignment- Returns:
- loop variable (can be null if not set)
-
setSourceLoopVarName
public void setSourceLoopVarName(String sourceLoopVarName)
Description copied from interface:AssignmentReplaces the sourceLocalVar or sourceReference at the call site in the assignment in the template with this sourceLoopVarName. The sourceLocalVar can subsequently be used for e.g. null checking.- Specified by:
setSourceLoopVarNamein interfaceAssignment- Parameters:
sourceLoopVarName- loop variable
-
getImportTypes
public Set<Type> 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- Specified by:
getImportTypesin classModelElement- Returns:
- A set with type referenced by this model element. Must not be
null.
-
getThrownTypes
public List<Type> getThrownTypes()
Description copied from interface:Assignmentreturns all types exception types thrown by this assignment.- Specified by:
getThrownTypesin interfaceAssignment- Returns:
- exceptions thrown
-
setAssignment
public void setAssignment(Assignment assignment)
Description copied from interface:AssignmentAn assignment in itself can wrap another assignment. E.g.:- a MethodReference can wrap a TypeConversion, another MethodReference and ultimately a Simple
- a TypeConversion can wrap a MethodReference, and ultimately a Simple
- Specified by:
setAssignmentin interfaceAssignment- Parameters:
assignment- the assignment to set
-
getType
public Assignment.AssignmentType getType()
Description copied from interface:AssignmentReturns whether the type of assignment- Specified by:
getTypein interfaceAssignment- Returns:
Assignment.AssignmentType
-
isCallingUpdateMethod
public boolean isCallingUpdateMethod()
- Specified by:
isCallingUpdateMethodin interfaceAssignment
-
getSourceErrorMessagePart
public String getSourceErrorMessagePart()
-
getSourceTypeForMatching
public Type getSourceTypeForMatching()
The source type that is to be used when resolving the mapping from source to target.- Returns:
- the source type to be used in the matching process.
-
setUseElementAsSourceTypeForMatching
public void setUseElementAsSourceTypeForMatching(boolean useElementAsSourceTypeForMatching)
For collection type, use element as source type to find a suitable mapping method.- Parameters:
useElementAsSourceTypeForMatching- uses the element of a collection as source type for the matching process
-
getSourceParameterName
public String getSourceParameterName()
Description copied from interface:AssignmentReturns the source parameter name, to which this assignment applies. Note: the source parameter itself might be mapped by this assignment, or one of its properties- Specified by:
getSourceParameterNamein interfaceAssignment- Returns:
- the source parameter name
-
-