Class JavaMethodElement

java.lang.Object
io.micronaut.inject.ast.annotation.AbstractAnnotationElement
io.micronaut.annotation.processing.visitor.AbstractJavaElement
io.micronaut.annotation.processing.visitor.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 AbstractJavaElement 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
     
    io.micronaut.core.annotation.AnnotationMetadata
     
    protected io.micronaut.inject.ast.annotation.MutableAnnotationMetadataDelegate<?>
     
    Map<String,io.micronaut.inject.ast.ClassElement>
     
    List<? extends io.micronaut.inject.ast.GenericPlaceholderElement>
     
     
    @NonNull io.micronaut.inject.ast.ClassElement
     
    io.micronaut.inject.ast.annotation.ElementAnnotationMetadata
     
     
    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[]
     
    Map<String,io.micronaut.inject.ast.ClassElement>
     
    boolean
    hides(io.micronaut.inject.ast.MemberElement hidden)
     
    boolean
     
    boolean
     
    boolean
     
    protected @NonNull io.micronaut.annotation.processing.visitor.JavaParameterElement
    newParameterElement(@NonNull io.micronaut.inject.ast.MethodElement methodElement, @NonNull VariableElement variableElement)
    Creates a new parameter element for the given args.
    boolean
    overrides(io.micronaut.inject.ast.MethodElement overridden)
     
    io.micronaut.inject.ast.MethodElement
    withAnnotationMetadata(io.micronaut.core.annotation.AnnotationMetadata annotationMetadata)
     
    io.micronaut.inject.ast.MethodElement
    withNewOwningType(io.micronaut.inject.ast.ClassElement owningType)
     
    io.micronaut.inject.ast.MethodElement
    withParameters(io.micronaut.inject.ast.ParameterElement... parameters)
     

    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, 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, isReflectionRequired, isReflectionRequired

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

    addAssociatedBean, getDescription, hasParameters, 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

    • getAnnotationMetadataToWrite

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

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

      public 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

      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 AbstractJavaElement
    • withParameters

      public 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(io.micronaut.inject.ast.MethodElement overridden)
      Specified by:
      overrides in interface io.micronaut.inject.ast.MethodElement
    • hides

      public boolean hides(io.micronaut.inject.ast.MemberElement hidden)
      Specified by:
      hides in interface io.micronaut.inject.ast.MemberElement
      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

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

      public 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

      public io.micronaut.inject.ast.MethodElement withNewOwningType(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
    • newParameterElement

      @NonNull protected @NonNull io.micronaut.annotation.processing.visitor.JavaParameterElement newParameterElement(@NonNull @NonNull io.micronaut.inject.ast.MethodElement methodElement, @NonNull @NonNull VariableElement variableElement)
      Creates a new parameter element for the given args.
      Parameters:
      methodElement - The method element
      variableElement - The variable element
      Returns:
      The parameter element
    • 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