Package org.mapstruct.ap.internal.model
Class ForgedMethod
java.lang.Object
org.mapstruct.ap.internal.model.ForgedMethod
- All Implemented Interfaces:
Method
This method will be generated in absence of a suitable abstract method to implement.
- Author:
- Sjaak Derksen
-
Constructor Summary
ConstructorsConstructorDescriptionForgedMethod(String name, ForgedMethod forgedMethod) creates a new ForgedMethod with the same arguments but with a new name -
Method Summary
Modifier and TypeMethodDescriptionvoidaddThrownTypes(List<Type> thrownTypesToAdd) describe()booleanstatic ForgedMethodforElementMapping(String name, Type sourceType, Type returnType, Method basedOn, ForgedMethodHistory history, boolean forgedNameBased) Creates a new forged method for mapping a collection element, map key/value or stream elementstatic ForgedMethodforParameterMapping(String name, Type sourceType, Type returnType, Method basedOn) Creates a new forged method with the given name for mapping a method parameter to a property.static ForgedMethodforPropertyMapping(String name, Type sourceType, Type returnType, List<Parameter> parameters, Method basedOn, ForgedMethodHistory history, MappingReferences mappingReferences, boolean forgedNameBased) Creates a new forged method for mapping a bean property to a propertystatic ForgedMethodforSubclassMapping(String name, Type sourceType, Type returnType, Method basedOn, MappingReferences mappingReferences, ForgedMethodHistory history, boolean forgedNameBased) Creates a new forged method for mapping a SubclassMapping elementReturns theAccessibilityof this method.returns the list of mapping context parameters, i.e. those parameters that are annotated withContext.Returns the mapper type declaring this method if it is not declared by the mapper interface currently processed but by another mapper imported viaMapper#users().Returns the parameter designated as mapping target (if present)MappingTargetgetName()Returns then name of the method.In contrast toMethod.getSourceParameters()this method returns all parametersReturns the type of the result.Returns the return type of the methodreturns the list of 'true' source parameters excluding the parameter(s) that are designated as target, target type or context parameter.Returns the parameter designated as target type (if present)TargetTypeReturns all exceptions thrown by this methodReturns the formal type parameters of this method in declaration order.inthashCode()booleanWhether this method is Java 8 default methodbooleanbooleanbooleanobject factory mechanism not supported for forged methodsbooleanisStatic()Whether this method is static or an instance methodbooleanbooleanChecks whether the provided sourceType and provided targetType match with the parameter respectively return type of the method.booleanWhether this method overrides an abstract method.toString()Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.mapstruct.ap.internal.model.source.Method
getConditionOptions, getMappingSourceType
-
Constructor Details
-
ForgedMethod
creates a new ForgedMethod with the same arguments but with a new name- Parameters:
name- the new nameforgedMethod- existing forge method
-
-
Method Details
-
forParameterMapping
public static ForgedMethod forParameterMapping(String name, Type sourceType, Type returnType, Method basedOn) Creates a new forged method with the given name for mapping a method parameter to a property.- Parameters:
name- the (unique name) for this methodsourceType- the source typereturnType- the return type.basedOn- the method that (originally) triggered this nested method generation.- Returns:
- a new forge method
-
forPropertyMapping
public static ForgedMethod forPropertyMapping(String name, Type sourceType, Type returnType, List<Parameter> parameters, Method basedOn, ForgedMethodHistory history, MappingReferences mappingReferences, boolean forgedNameBased) Creates a new forged method for mapping a bean property to a property- Parameters:
name- the (unique name) for this methodsourceType- the source typereturnType- the return type.parameters- other parameters (including the context + @MappingTargetbasedOn- the method that (originally) triggered this nested method generation.history- a parent forged method if this is a forged method within a forged methodmappingReferences- the mapping options for this methodforgedNameBased- forges a name based (matched) mapping method- Returns:
- a new forge method
-
forElementMapping
public static ForgedMethod forElementMapping(String name, Type sourceType, Type returnType, Method basedOn, ForgedMethodHistory history, boolean forgedNameBased) Creates a new forged method for mapping a collection element, map key/value or stream element- Parameters:
name- the (unique name) for this methodsourceType- the source typereturnType- the return type.basedOn- the method that (originally) triggered this nested method generation.history- a parent forged method if this is a forged method within a forged methodforgedNameBased- forges a name based (matched) mapping method- Returns:
- a new forge method
-
forSubclassMapping
public static ForgedMethod forSubclassMapping(String name, Type sourceType, Type returnType, Method basedOn, MappingReferences mappingReferences, ForgedMethodHistory history, boolean forgedNameBased) Creates a new forged method for mapping a SubclassMapping element- Parameters:
name- the (unique name) for this methodsourceType- the source typereturnType- the return type.basedOn- the method that (originally) triggered this nested method generation.history- a parent forged method if this is a forged method within a forged methodforgedNameBased- forges a name based (matched) mapping method- Returns:
- a new forge method
-
matches
Description copied from interface:MethodChecks whether the provided sourceType and provided targetType match with the parameter respectively return type of the method. The check also should incorporate wild card and generic type variables -
getDeclaringMapper
Description copied from interface:MethodReturns the mapper type declaring this method if it is not declared by the mapper interface currently processed but by another mapper imported viaMapper#users().- Specified by:
getDeclaringMapperin interfaceMethod- Returns:
- The declaring mapper type
-
getName
Description copied from interface:MethodReturns then name of the method. -
getParameters
Description copied from interface:MethodIn contrast toMethod.getSourceParameters()this method returns all parameters- Specified by:
getParametersin interfaceMethod- Returns:
- all parameters
-
getSourceParameters
Description copied from interface:Methodreturns the list of 'true' source parameters excluding the parameter(s) that are designated as target, target type or context parameter.- Specified by:
getSourceParametersin interfaceMethod- Returns:
- list of 'true' source parameters
-
getContextParameters
Description copied from interface:Methodreturns the list of mapping context parameters, i.e. those parameters that are annotated withContext.- Specified by:
getContextParametersin interfaceMethod- Returns:
- list of context parameters
-
getContextProvidedMethods
- Specified by:
getContextProvidedMethodsin interfaceMethod- Returns:
- a mapping between
Method.getContextParameters()to factory and lifecycle methods provided by them.
-
getMappingTargetParameter
Description copied from interface:MethodReturns the parameter designated as mapping target (if present)MappingTarget- Specified by:
getMappingTargetParameterin interfaceMethod- Returns:
- mapping target parameter (when present) null otherwise.
-
getTargetTypeParameter
Description copied from interface:MethodReturns the parameter designated as target type (if present)TargetType- Specified by:
getTargetTypeParameterin interfaceMethod- Returns:
- target type parameter (when present) null otherwise.
-
getAccessibility
Description copied from interface:MethodReturns theAccessibilityof this method.- Specified by:
getAccessibilityin interfaceMethod- Returns:
- the
Accessibilityof this method
-
getReturnType
Description copied from interface:MethodReturns the return type of the method- Specified by:
getReturnTypein interfaceMethod- Returns:
- return type
-
getThrownTypes
Description copied from interface:MethodReturns all exceptions thrown by this method- Specified by:
getThrownTypesin interfaceMethod- Returns:
- exceptions thrown
-
getHistory
-
isForgedNamedBased
public boolean isForgedNamedBased() -
addThrownTypes
-
getResultType
Description copied from interface:MethodReturns the type of the result. The result is defined as the type of the parameter designated withMappingTarget, or in absence the return type.- Specified by:
getResultTypein interfaceMethod- Returns:
- result type
-
getParameterNames
- Specified by:
getParameterNamesin interfaceMethod- Returns:
- the names of the parameters of this mapping method
-
overridesMethod
public boolean overridesMethod()Description copied from interface:MethodWhether this method overrides an abstract method.- Specified by:
overridesMethodin interfaceMethod- Returns:
- true when an abstract method is overridden.
-
getExecutable
- Specified by:
getExecutablein interfaceMethod
-
isLifecycleCallbackMethod
public boolean isLifecycleCallbackMethod()- Specified by:
isLifecycleCallbackMethodin interfaceMethod- Returns:
true, if the method represents a mapping lifecycle callback (Before/After mapping method)
-
toString
-
isStatic
public boolean isStatic()Description copied from interface:MethodWhether this method is static or an instance method -
isDefault
public boolean isDefault()Description copied from interface:MethodWhether this method is Java 8 default method -
getDefiningType
- Specified by:
getDefiningTypein interfaceMethod- Returns:
- the Type (class or interface) that defines this method.
-
isUpdateMethod
public boolean isUpdateMethod()- Specified by:
isUpdateMethodin interfaceMethod- Returns:
true, if the method is an update method, i.e. it has a parameter annotated with@MappingTarget.
-
isObjectFactory
public boolean isObjectFactory()object factory mechanism not supported for forged methods- Specified by:
isObjectFactoryin interfaceMethod- Returns:
- false
-
getOptions
- Specified by:
getOptionsin interfaceMethod- Returns:
- the mapping options for this method
-
getTypeParameters
Description copied from interface:MethodReturns the formal type parameters of this method in declaration order.- Specified by:
getTypeParametersin interfaceMethod- Returns:
- the formal type parameters, or an empty list if there are none
-
describe
-
getMappingReferences
-
equals
-
hashCode
public int hashCode()
-