Interface MethodElement
- All Superinterfaces:
AnnotatedElement, AnnotationMetadata, AnnotationMetadataDelegate, AnnotationMetadataProvider, AnnotationSource, Described, Element, MemberElement, MutableAnnotationMetadataDelegate<Element>, Named
- All Known Subinterfaces:
BeanConstructorElement, BeanMethodElement, ConstructorElement
- All Known Implementing Classes:
GroovyConstructorElement, GroovyMethodElement, JavaMethodElement
Stores data about an element that references a method.
- Since:
- 1.0
- Author:
- James Kleeh
-
Field Summary
Fields inherited from interface AnnotationMetadata
CLASS_NAME_SUFFIX, EMPTY_METADATA, VALUE_MEMBERFields inherited from interface AnnotationSource
EMPTYFields inherited from interface Element
EMPTY_ELEMENT_ARRAYFields inherited from interface MutableAnnotationMetadataDelegate
EMPTY -
Method Summary
Modifier and TypeMethodDescriptiondefault BeanElementBuilderThis method adds an associated bean using this method element as the originating element.default Map<String, ClassElement> The declared type arguments for this method element.default List<? extends GenericPlaceholderElement> default StringgetDescription(boolean simple) Get the method description.default ClassElementThe generic return type of the method.Returns the method annotations.default Collection<MethodElement> Get overridden methods by this method.default Optional<ClassElement> Returns the receiver type of this executable, or empty if the method has no receiver type.default ParameterElement[]IfisSuspend()returns true this method exposes the continuation parameter in addition to the other parameters of the method.default ClassElement[]Returns the types declared in thethrowsdeclaration of a method.default Map<String, ClassElement> The type arguments for this method element.default booleanReturns true if the method has parameters.default booleanhides(MemberElement memberElement) Checks if this member element hides another.default booleanhides(MethodElement hiddenMethod) Checks if this member element hides another.default booleanIs the method a default method on an interfaces.default booleanisSubSignature(MethodElement element) Is this method a sub signature of another.default booleanIs the method a Kotlin suspend function.default booleanIf method has varargs parameter.static MethodElementof(ClassElement declaredType, AnnotationMetadata annotationMetadata, ClassElement returnType, ClassElement genericReturnType, String name, ParameterElement... parameterElements) Creates aMethodElementfor the given parameters.static MethodElementof(ClassElement owningType, ClassElement declaringType, AnnotationMetadataProvider methodAnnotationMetadataProvider, AnnotationMetadataProvider annotationMetadataProvider, AbstractAnnotationMetadataBuilder<?, ?> metadataBuilder, ClassElement returnType, ClassElement genericReturnType, String name, boolean isStatic, boolean isFinal, ParameterElement... parameterElements) Creates aMethodElementfor the given parameters.default booleanoverrides(MethodElement overridden) Checks if this method element overrides another.default MethodElementwithAnnotationMetadata(AnnotationMetadata annotationMetadata) Copies this element and overrides its annotations.default MethodElementwithNewOwningType(ClassElement owningType) Returns a new method with a new owning type.default MethodElementwithNewParameters(ParameterElement... newParameters) Takes this method element and transforms into a new method element with the given parameters appended to the existing parameters.withParameters(ParameterElement... newParameters) Takes this method element and transforms into a new method element with the given parameters.Methods inherited from interface AnnotatedElement
isDeclaredNonNull, isDeclaredNullable, isNonNull, isNullableMethods inherited from interface AnnotationMetadata
enumValuesSet, enumValuesSet, getValues, hasDeclaredStereotype, hasEvaluatedExpressions, hasStereotypeNonRepeating, isAnnotationPresent, isDeclaredAnnotationPresentMethods inherited from interface AnnotationMetadataDelegate
booleanValue, booleanValue, booleanValue, booleanValue, classValue, classValue, classValue, classValue, classValues, classValues, classValues, classValues, copyAnnotationMetadata, doubleValue, doubleValue, doubleValue, enumValue, enumValue, enumValue, enumValue, enumValues, enumValues, enumValues, enumValues, findAnnotation, findAnnotation, findDeclaredAnnotation, findDeclaredAnnotation, findRepeatableAnnotation, findRepeatableAnnotation, getAnnotation, getAnnotation, getAnnotationNameByStereotype, getAnnotationNameByStereotype, getAnnotationNames, getAnnotationNamesByStereotype, getAnnotationNamesByStereotype, getAnnotationType, getAnnotationType, getAnnotationTypeByStereotype, getAnnotationTypeByStereotype, getAnnotationTypesByStereotype, getAnnotationTypesByStereotype, getAnnotationTypesByStereotype, getAnnotationValuesByName, getAnnotationValuesByStereotype, getAnnotationValuesByType, getDeclaredAnnotation, getDeclaredAnnotation, getDeclaredAnnotationNameByStereotype, getDeclaredAnnotationNames, getDeclaredAnnotationNamesByStereotype, getDeclaredAnnotationTypeByStereotype, getDeclaredAnnotationTypeByStereotype, getDeclaredAnnotationValuesByName, getDeclaredAnnotationValuesByType, getDeclaredMetadata, getDeclaredStereotypeAnnotationNames, getDefaultValue, getDefaultValue, getDefaultValue, getDefaultValue, getDefaultValues, getStereotypeAnnotationNames, getTargetAnnotationMetadata, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValues, getValues, hasAnnotation, hasAnnotation, hasDeclaredAnnotation, hasDeclaredAnnotation, hasDeclaredStereotype, hasDeclaredStereotype, hasDeclaredStereotype, hasPropertyExpressions, hasSimpleAnnotation, hasSimpleDeclaredAnnotation, hasStereotype, hasStereotype, hasStereotype, hasStereotype, intValue, intValue, intValue, isAnnotationPresent, isDeclaredAnnotationPresent, isEmpty, isFalse, isFalse, isPresent, isPresent, isRepeatableAnnotation, isRepeatableAnnotation, isTrue, isTrue, longValue, longValue, stringValue, stringValue, stringValue, stringValue, stringValues, stringValues, stringValues, stringValues, synthesize, synthesize, synthesizeAll, synthesizeAnnotationsByType, synthesizeDeclared, synthesizeDeclared, synthesizeDeclared, synthesizeDeclaredAnnotationsByTypeMethods inherited from interface AnnotationMetadataProvider
getAnnotationMetadataMethods inherited from interface Element
annotate, annotate, annotate, annotate, annotate, getDescription, getDocumentation, getDocumentation, getName, getNativeType, getSimpleName, isAbstract, isFinal, isPackagePrivate, isPrivate, isProtected, isPublic, isStatic, isSynthetic, removeAnnotation, removeAnnotation, removeAnnotationIf, removeStereotype, removeStereotypeMethods inherited from interface MemberElement
getDeclaringType, getModifiers, getOwningType, isAccessible, isAccessible, isAccessible, isReflectionRequired, isReflectionRequired
-
Method Details
-
getMethodAnnotationMetadata
Returns the method annotations. The method will only return annotations defined on a method or inherited from the super methods, whileAnnotationMetadataProvider.getAnnotationMetadata()for a method combines the class and the method annotations. NOTE: For a constructorAnnotationMetadataProvider.getAnnotationMetadata()will not combine the class annotations.- Returns:
- The method annotation metadata
- Since:
- 4.0.0
-
getReturnType
ClassElement getReturnType()- Returns:
- The return type of the method
-
getDeclaredTypeVariables
- Returns:
- The type arguments declared on this method.
-
getTypeArguments
The type arguments for this method element. The type arguments should include the type arguments added to the method plus the type arguments of the declaring class.- Returns:
- The type arguments for this method element
- Since:
- 4.0.0
-
getDeclaredTypeArguments
The declared type arguments for this method element.- Returns:
- The declared type arguments for this method element
- Since:
- 4.0.0
-
getReceiverType
Returns the receiver type of this executable, or empty if the method has no receiver type.
A MethodElement which is an instance method, or a constructor of an inner class, has a receiver type derived from the declaring type.
A MethodElement which is a static method, or a constructor of a non-inner class, or an initializer (static or instance), has no receiver type.
- Returns:
- The receiver type for the method if one exists.
- Since:
- 3.1.0
-
getThrownTypes
Returns the types declared in thethrowsdeclaration of a method.- Returns:
- The
throwstypes, if any. Nevernull. - Since:
- 3.1.0
-
getParameters
ParameterElement[] getParameters()- Returns:
- The method parameters
-
withNewParameters
Takes this method element and transforms into a new method element with the given parameters appended to the existing parameters.- Parameters:
newParameters- The new parameters- Returns:
- A new method element
- Since:
- 2.3.0
-
withParameters
Takes this method element and transforms into a new method element with the given parameters.- Parameters:
newParameters- The new parameters- Returns:
- A new method element
- Since:
- 4.0.0
-
withNewOwningType
Returns a new method with a new owning type.- Parameters:
owningType- The owning type.- Returns:
- A new method element
- Since:
- 4.0.0
-
addAssociatedBean
This method adds an associated bean using this method element as the originating element.Note that this method can only be called on classes being directly compiled by Micronaut. If the ClassElement is loaded from pre-compiled code an
UnsupportedOperationExceptionwill be thrown.- Parameters:
type- The type of the bean- Returns:
- A bean builder
-
getSuspendParameters
IfisSuspend()returns true this method exposes the continuation parameter in addition to the other parameters of the method.- Returns:
- The suspend parameters
- Since:
- 2.3.0
-
hasParameters
default boolean hasParameters()Returns true if the method has parameters.- Returns:
- True if it does
-
isSuspend
default boolean isSuspend()Is the method a Kotlin suspend function.- Returns:
- True if it is.
- Since:
- 2.3.0
-
isDefault
default boolean isDefault()Is the method a default method on an interfaces.- Returns:
- True if it is.
- Since:
- 2.3.0
-
isVarArgs
default boolean isVarArgs()If method has varargs parameter.- Returns:
- True if it does
- Since:
- 4.0.0
-
getGenericReturnType
The generic return type of the method.- Returns:
- The return type of the method
- Since:
- 1.1.1
-
getDescription
Get the method description.- Specified by:
getDescriptionin interfaceDescribed- Specified by:
getDescriptionin interfaceElement- Parameters:
simple- If simple type names are to be used- Returns:
- The method description
-
overrides
@NextMajorVersion("Review the package-private methods with broken access, those might need to be excluded completely") default boolean overrides(MethodElement overridden) Checks if this method element overrides another.- Parameters:
overridden- Possible overridden method- Returns:
- true if this overrides passed method element
- Since:
- 3.1
-
hides
Description copied from interface:MemberElementChecks if this member element hides another.- Specified by:
hidesin interfaceMemberElement- Parameters:
memberElement- The possibly hidden element- Returns:
- true if this member element hides passed field element
-
hides
Checks if this member element hides another.- Parameters:
hiddenMethod- The possibly hidden method- Returns:
- true if this member element hides passed field element
- Since:
- 4.3.0
-
isSubSignature
Is this method a sub signature of another.- Parameters:
element- The other method- Returns:
- true if a sub signature
- Since:
- 4.3.0
-
getOverriddenMethods
Get overridden methods by this method.- Returns:
- The overridden method by this method.
- Since:
- 4.3.0
-
of
static MethodElement of(ClassElement declaredType, AnnotationMetadata annotationMetadata, ClassElement returnType, ClassElement genericReturnType, String name, ParameterElement... parameterElements) Creates aMethodElementfor the given parameters.- Parameters:
declaredType- The declaring typeannotationMetadata- The annotation metadatareturnType- The return typegenericReturnType- The generic return typename- The nameparameterElements- The parameter elements- Returns:
- The method element
-
of
static MethodElement of(ClassElement owningType, ClassElement declaringType, AnnotationMetadataProvider methodAnnotationMetadataProvider, AnnotationMetadataProvider annotationMetadataProvider, AbstractAnnotationMetadataBuilder<?, ?> metadataBuilder, ClassElement returnType, ClassElement genericReturnType, String name, boolean isStatic, boolean isFinal, ParameterElement... parameterElements) Creates aMethodElementfor the given parameters.- Parameters:
owningType- The owing typedeclaringType- The declaring typemethodAnnotationMetadataProvider- The method annotation metadata providerannotationMetadataProvider- The annotation metadata providermetadataBuilder- The metadata builderreturnType- The return typegenericReturnType- The generic return typename- The nameisStatic- Is staticisFinal- Is finalparameterElements- The parameter elements- Returns:
- The method element
- Since:
- 4.0.0
-
withAnnotationMetadata
Description copied from interface:ElementCopies this element and overrides its annotations.- Specified by:
withAnnotationMetadatain interfaceElement- Specified by:
withAnnotationMetadatain interfaceMemberElement- Parameters:
annotationMetadata- The annotation metadata- Returns:
- A new element
-