Class JavaMethodElement

All Implemented Interfaces:
io.micronaut.core.annotation.AnnotatedElement, io.micronaut.core.annotation.AnnotationMetadata, io.micronaut.core.annotation.AnnotationMetadataDelegate, io.micronaut.core.annotation.AnnotationMetadataProvider, io.micronaut.core.annotation.AnnotationSource, io.micronaut.core.naming.Described, io.micronaut.core.naming.Named, io.micronaut.inject.ast.annotation.MutableAnnotationMetadataDelegate<io.micronaut.inject.ast.Element>, io.micronaut.inject.ast.Element, io.micronaut.inject.ast.MemberElement, io.micronaut.inject.ast.MethodElement

@Internal public class JavaMethodElement extends AbstractJavaMemberElement implements io.micronaut.inject.ast.MethodElement
A method element returning data from a ExecutableElement.
Since:
1.0
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected final ExecutableElement
     
    protected final JavaClassElement
     

    Fields inherited from class io.micronaut.annotation.processing.visitor.AbstractJavaElement

    visitorContext

    Fields inherited from class io.micronaut.inject.ast.annotation.AbstractAnnotationElement

    elementAnnotationMetadataFactory, presetAnnotationMetadata

    Fields inherited from interface io.micronaut.core.annotation.AnnotationMetadata

    CLASS_NAME_SUFFIX, EMPTY_METADATA, VALUE_MEMBER

    Fields inherited from interface io.micronaut.core.annotation.AnnotationSource

    EMPTY

    Fields inherited from interface io.micronaut.inject.ast.Element

    EMPTY_ELEMENT_ARRAY

    Fields inherited from interface io.micronaut.inject.ast.annotation.MutableAnnotationMetadataDelegate

    EMPTY
  • Constructor Summary

    Constructors
    Constructor
    Description
    JavaMethodElement(JavaClassElement owningType, JavaNativeElement.Method nativeElement, io.micronaut.inject.ast.annotation.ElementAnnotationMetadataFactory annotationMetadataFactory, JavaVisitorContext visitorContext)
     
  • Method Summary

    Modifier and Type
    Method
    Description
     
    protected void
     
    @NonNull io.micronaut.core.annotation.AnnotationMetadata
     
    protected io.micronaut.inject.ast.annotation.MutableAnnotationMetadataDelegate<?>
     
    @NonNull Map<String,io.micronaut.inject.ast.ClassElement>
     
    List<? extends io.micronaut.inject.ast.GenericPlaceholderElement>
     
     
    @NonNull io.micronaut.inject.ast.ClassElement
     
    @NonNull io.micronaut.inject.ast.annotation.ElementAnnotationMetadata
     
     
    Collection<io.micronaut.inject.ast.MethodElement>
     
    io.micronaut.inject.ast.ClassElement
     
    io.micronaut.inject.ast.ParameterElement[]
     
    Optional<io.micronaut.inject.ast.ClassElement>
     
    @NonNull io.micronaut.inject.ast.ClassElement
     
    io.micronaut.inject.ast.ParameterElement[]
     
    @NonNull io.micronaut.inject.ast.ClassElement[]
     
    protected io.micronaut.core.annotation.AnnotationMetadata
    Retrieves the metadata of annotations associated with the type of the current element.
    @NonNull Map<String,io.micronaut.inject.ast.ClassElement>
     
    boolean
    hides(@NonNull io.micronaut.inject.ast.MethodElement hiddenMethod)
     
    boolean
     
    boolean
    isSubSignature(io.micronaut.inject.ast.MethodElement element)
     
    boolean
     
    boolean
     
    boolean
    overrides(@NonNull io.micronaut.inject.ast.MethodElement overridden)
     
    io.micronaut.inject.ast.MethodElement
    withAnnotationMetadata(io.micronaut.core.annotation.AnnotationMetadata annotationMetadata)
     
    @NonNull io.micronaut.inject.ast.MethodElement
    withNewOwningType(@NonNull io.micronaut.inject.ast.ClassElement owningType)
     
    @NonNull io.micronaut.inject.ast.MethodElement
    withParameters(io.micronaut.inject.ast.ParameterElement... parameters)
     

    Methods inherited from class io.micronaut.annotation.processing.visitor.AbstractJavaMemberElement

    hasNullMarked

    Methods inherited from class io.micronaut.annotation.processing.visitor.AbstractTypeAwareJavaElement

    canBeMarkedWithNonNull, isDeclaredNonNull, isDeclaredNullable, isNonNull, isNullable

    Methods inherited from class io.micronaut.inject.ast.annotation.AbstractAnnotationElement

    annotate, annotate, annotate, annotate, annotate, getElementAnnotationMetadata, getElementAnnotationMetadataFactory, removeAnnotation, removeAnnotation, removeAnnotationIf, removeStereotype, removeStereotype

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait

    Methods inherited from interface io.micronaut.core.annotation.AnnotatedElement

    isDeclaredNonNull, isDeclaredNullable, isNonNull, isNullable

    Methods inherited from interface io.micronaut.core.annotation.AnnotationMetadata

    enumValuesSet, enumValuesSet, getValues, hasDeclaredStereotype, hasEvaluatedExpressions, hasStereotypeNonRepeating, isAnnotationPresent, isDeclaredAnnotationPresent

    Methods inherited from interface io.micronaut.core.annotation.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, synthesizeDeclaredAnnotationsByType

    Methods inherited from interface io.micronaut.inject.ast.Element

    annotate, annotate, annotate, annotate, annotate, getDescription, getDocumentation, getDocumentation, getName, getSimpleName, isAbstract, isFinal, isPackagePrivate, isPrivate, isProtected, isPublic, isStatic, isSynthetic, removeAnnotation, removeAnnotation, removeAnnotationIf, removeStereotype, removeStereotype

    Methods inherited from interface io.micronaut.inject.ast.MemberElement

    getModifiers, isAccessible, isAccessible, isAccessible, isReflectionRequired, isReflectionRequired

    Methods inherited from interface io.micronaut.inject.ast.MethodElement

    addAssociatedBean, getDescription, hasParameters, hides, withNewParameters
  • Field Details

  • Constructor Details

    • JavaMethodElement

      public JavaMethodElement(JavaClassElement owningType, JavaNativeElement.Method nativeElement, io.micronaut.inject.ast.annotation.ElementAnnotationMetadataFactory annotationMetadataFactory, JavaVisitorContext visitorContext)
      Parameters:
      owningType - The declaring class
      nativeElement - The native element
      annotationMetadataFactory - The annotation metadata factory
      visitorContext - The visitor context
  • Method Details

    • getTypeAnnotationMetadata

      protected io.micronaut.core.annotation.AnnotationMetadata getTypeAnnotationMetadata()
      Description copied from class: AbstractTypeAwareJavaElement
      Retrieves the metadata of annotations associated with the type of the current element.
      Specified by:
      getTypeAnnotationMetadata in class AbstractTypeAwareJavaElement
      Returns:
      the AnnotationMetadata representing the annotations of the type.
    • getAnnotationMetadataToWrite

      protected io.micronaut.inject.ast.annotation.MutableAnnotationMetadataDelegate<?> getAnnotationMetadataToWrite()
      Overrides:
      getAnnotationMetadataToWrite in class io.micronaut.inject.ast.annotation.AbstractAnnotationElement
    • getMethodAnnotationMetadata

      @NonNull public @NonNull io.micronaut.inject.ast.annotation.ElementAnnotationMetadata getMethodAnnotationMetadata()
      Specified by:
      getMethodAnnotationMetadata in interface io.micronaut.inject.ast.MethodElement
    • getAnnotationMetadata

      @NonNull public @NonNull io.micronaut.core.annotation.AnnotationMetadata getAnnotationMetadata()
      Specified by:
      getAnnotationMetadata in interface io.micronaut.core.annotation.AnnotationMetadataProvider
      Overrides:
      getAnnotationMetadata in class io.micronaut.inject.ast.annotation.AbstractAnnotationElement
    • getNativeType

      @NonNull public JavaNativeElement.Method getNativeType()
      Specified by:
      getNativeType in interface io.micronaut.inject.ast.Element
      Overrides:
      getNativeType in class AbstractJavaElement
    • copyThis

      protected AbstractJavaElement copyThis()
      Specified by:
      copyThis in class AbstractJavaElement
      Returns:
      copy of this element
    • copyValues

      protected void copyValues(AbstractJavaElement element)
      Overrides:
      copyValues in class AbstractJavaElement
      Parameters:
      element - the values to be copied to
    • withAnnotationMetadata

      public io.micronaut.inject.ast.MethodElement withAnnotationMetadata(io.micronaut.core.annotation.AnnotationMetadata annotationMetadata)
      Specified by:
      withAnnotationMetadata in interface io.micronaut.inject.ast.Element
      Specified by:
      withAnnotationMetadata in interface io.micronaut.inject.ast.MemberElement
      Specified by:
      withAnnotationMetadata in interface io.micronaut.inject.ast.MethodElement
      Overrides:
      withAnnotationMetadata in class AbstractJavaMemberElement
    • withParameters

      @NonNull public @NonNull io.micronaut.inject.ast.MethodElement withParameters(io.micronaut.inject.ast.ParameterElement... parameters)
      Specified by:
      withParameters in interface io.micronaut.inject.ast.MethodElement
    • getReceiverType

      public Optional<io.micronaut.inject.ast.ClassElement> getReceiverType()
      Specified by:
      getReceiverType in interface io.micronaut.inject.ast.MethodElement
    • getThrownTypes

      @NonNull public @NonNull io.micronaut.inject.ast.ClassElement[] getThrownTypes()
      Specified by:
      getThrownTypes in interface io.micronaut.inject.ast.MethodElement
    • isDefault

      public boolean isDefault()
      Specified by:
      isDefault in interface io.micronaut.inject.ast.MethodElement
    • isVarArgs

      public boolean isVarArgs()
      Specified by:
      isVarArgs in interface io.micronaut.inject.ast.MethodElement
    • overrides

      public boolean overrides(@NonNull @NonNull io.micronaut.inject.ast.MethodElement overridden)
      Specified by:
      overrides in interface io.micronaut.inject.ast.MethodElement
    • isSubSignature

      public boolean isSubSignature(io.micronaut.inject.ast.MethodElement element)
      Specified by:
      isSubSignature in interface io.micronaut.inject.ast.MethodElement
    • hides

      public boolean hides(@NonNull @NonNull io.micronaut.inject.ast.MethodElement hiddenMethod)
      Specified by:
      hides in interface io.micronaut.inject.ast.MethodElement
    • getGenericReturnType

      @NonNull public @NonNull io.micronaut.inject.ast.ClassElement getGenericReturnType()
      Specified by:
      getGenericReturnType in interface io.micronaut.inject.ast.MethodElement
    • getReturnType

      @NonNull public @NonNull io.micronaut.inject.ast.ClassElement getReturnType()
      Specified by:
      getReturnType in interface io.micronaut.inject.ast.MethodElement
    • getDeclaredTypeVariables

      public List<? extends io.micronaut.inject.ast.GenericPlaceholderElement> getDeclaredTypeVariables()
      Specified by:
      getDeclaredTypeVariables in interface io.micronaut.inject.ast.MethodElement
    • getTypeArguments

      @NonNull public @NonNull Map<String,io.micronaut.inject.ast.ClassElement> getTypeArguments()
      Specified by:
      getTypeArguments in interface io.micronaut.inject.ast.MethodElement
    • getDeclaredTypeArguments

      @NonNull public @NonNull Map<String,io.micronaut.inject.ast.ClassElement> getDeclaredTypeArguments()
      Specified by:
      getDeclaredTypeArguments in interface io.micronaut.inject.ast.MethodElement
    • isSuspend

      public boolean isSuspend()
      Specified by:
      isSuspend in interface io.micronaut.inject.ast.MethodElement
    • getParameters

      public io.micronaut.inject.ast.ParameterElement[] getParameters()
      Specified by:
      getParameters in interface io.micronaut.inject.ast.MethodElement
    • withNewOwningType

      @NonNull public @NonNull io.micronaut.inject.ast.MethodElement withNewOwningType(@NonNull @NonNull io.micronaut.inject.ast.ClassElement owningType)
      Specified by:
      withNewOwningType in interface io.micronaut.inject.ast.MethodElement
    • getSuspendParameters

      public io.micronaut.inject.ast.ParameterElement[] getSuspendParameters()
      Specified by:
      getSuspendParameters in interface io.micronaut.inject.ast.MethodElement
    • getDeclaringType

      public JavaClassElement getDeclaringType()
      Specified by:
      getDeclaringType in interface io.micronaut.inject.ast.MemberElement
    • getOwningType

      public io.micronaut.inject.ast.ClassElement getOwningType()
      Specified by:
      getOwningType in interface io.micronaut.inject.ast.MemberElement
    • getOverriddenMethods

      public Collection<io.micronaut.inject.ast.MethodElement> getOverriddenMethods()
      Specified by:
      getOverriddenMethods in interface io.micronaut.inject.ast.MethodElement