Class MethodDef

java.lang.Object
io.micronaut.sourcegen.model.MethodDef

public final class MethodDef extends Object
The method definition.
Since:
1.0
Author:
Denis Stepanov
  • Field Details

  • Method Details

    • constructor

      public static MethodDef.MethodDefBuilder constructor()
      Returns:
      Starts a constructor.
    • constructor

      public static MethodDef constructor(Collection<ParameterDef> parameterDefs, Modifier... modifiers)
      Create a new constructor with parameters assigned to fields with the same name.
      Parameters:
      parameterDefs - The parameters of the body
      modifiers - The constructor modifiers
      Returns:
      A new constructor with a body.
    • of

      public static MethodDef of(io.micronaut.inject.ast.MethodElement methodElement)
      Creates a method definition from MethodElement.
      Parameters:
      methodElement - The method element
      Returns:
      The method definition
      Since:
      1.5
    • of

      @Deprecated(since="2.0", forRemoval=true) public static MethodDef of(io.micronaut.inject.ast.MethodElement methodElement, Map<String,TypeDef> resolvedTypeVariables)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Creates a method definition from MethodElement.
      Parameters:
      methodElement - The method element
      resolvedTypeVariables - The resolved type variable
      Returns:
      The method definition
      Since:
      1.7
    • of

      public static MethodDef of(io.micronaut.inject.ast.MethodElement methodElement, Function<String,TypeDef> resolveVariableFn)
      Creates a method definition from MethodElement.
      Parameters:
      methodElement - The method element
      resolveVariableFn - The resolved variable function
      Returns:
      The method definition
      Since:
      2.0
    • of

      public static MethodDef of(Method method)
      Creates a method definition from Method.
      Parameters:
      method - The method
      Returns:
      The method definition
      Since:
      1.5
    • override

      public static MethodDef.MethodDefBuilder override(io.micronaut.inject.ast.MethodElement methodElement)
      Creates a method definition builder from MethodElement.
      Parameters:
      methodElement - The methodElement
      Returns:
      The method definition builder
      Since:
      1.5
    • override

      @Deprecated(since="2.0", forRemoval=true) public static MethodDef.MethodDefBuilder override(io.micronaut.inject.ast.MethodElement methodElement, Map<String,TypeDef> resolvedTypeVariables)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Creates a method definition builder from MethodElement.
      Parameters:
      methodElement - The methodElement
      resolvedTypeVariables - The resolved type variables
      Returns:
      The method definition builder
      Since:
      1.5
    • override

      public static MethodDef.MethodDefBuilder override(io.micronaut.inject.ast.MethodElement methodElement, Function<String, @Nullable TypeDef> resolveVariableFn)
      Creates a method definition builder from MethodElement.
      Parameters:
      methodElement - The methodElement
      resolveVariableFn - The resolved variable function
      Returns:
      The method definition builder
      Since:
      2.0
    • overrideGeneric

      public static MethodDef.MethodDefBuilder overrideGeneric(io.micronaut.inject.ast.MethodElement methodElement)
      Creates a method definition builder from MethodElement it used `getGeneric` versions of parameters and the return type.
      Parameters:
      methodElement - The methodElement
      Returns:
      The method definition builder
      Since:
      1.7
    • override

      public static MethodDef.MethodDefBuilder override(Method method)
      Creates a method definition builder from Method.
      Parameters:
      method - The method
      Returns:
      The method definition builder
      Since:
      1.5
    • override

      public static MethodDef.MethodDefBuilder override(MethodDef method)
      Creates a method definition builder from Method.
      Parameters:
      method - The method
      Returns:
      The method definition builder
      Since:
      1.7
    • override

      public static MethodDef.MethodDefBuilder override(Constructor<?> constructor)
      Creates a constructor definition builder from Method.
      Parameters:
      constructor - The method
      Returns:
      The method definition builder
      Since:
      1.5
    • resolveTypeVariables

      @Deprecated(since="2.0", forRemoval=true) public MethodDef resolveTypeVariables(Map<String,TypeDef> resolvedTypeVariables)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Resolves type variables.
      Parameters:
      resolvedTypeVariables - The type variables map
      Returns:
      the resolved method
    • resolveTypeVariables

      public MethodDef resolveTypeVariables(Function<String, @Nullable TypeDef> resolveVariableFn)
      Resolves type variables.
      Parameters:
      resolveVariableFn - The resolve variable function
      Returns:
      the resolved method
      Since:
      2.0
    • getReturnType

      public TypeDef getReturnType()
    • getParameters

      public List<ParameterDef> getParameters()
    • getStatements

      public List<StatementDef> getStatements()
    • findParameter

      public @Nullable ParameterDef findParameter(String name)
    • getParameter

      public ParameterDef getParameter(String name)
    • isOverride

      public boolean isOverride()
      Returns:
      True if method is an override
    • isConstructor

      public boolean isConstructor()
      Returns:
      True if method is a constructor
    • getTypeVariables

      public List<TypeDef.TypeVariable> getTypeVariables()
      Returns:
      The type variables
    • getThrowTypes

      public List<TypeDef> getThrowTypes()
      Returns:
      The exception types this method throws
    • builder

      public static MethodDef.MethodDefBuilder builder(String name)
    • builder

      public static MethodDef.MethodDefBuilder builder(io.micronaut.inject.ast.MethodElement methodElement)
      Creates a builder from MethodElement.
      Parameters:
      methodElement - The method element
      Returns:
      The method definition builder
      Since:
      2.0
    • builder

      public static MethodDef.MethodDefBuilder builder(io.micronaut.inject.ast.MethodElement methodElement, Function<String, @Nullable TypeDef> resolvedVariableFn)
      Creates a builder from MethodElement.
      Parameters:
      methodElement - The method element
      resolvedVariableFn - The type variable resolution function
      Returns:
      The method definition builder
      Since:
      2.0
    • builderGeneric

      public static MethodDef.MethodDefBuilder builderGeneric(io.micronaut.inject.ast.MethodElement methodElement)
      Creates a builder from MethodElement preserving generics.
      Parameters:
      methodElement - The method element
      Returns:
      The method definition builder
      Since:
      2.0
    • builderGeneric

      public static MethodDef.MethodDefBuilder builderGeneric(io.micronaut.inject.ast.MethodElement methodElement, Function<String, @Nullable TypeDef> resolvedVariableFn)
      Creates a builder from MethodElement preserving generics.
      Parameters:
      methodElement - The method element
      resolvedVariableFn - The type variable resolution function
      Returns:
      The method definition builder
      Since:
      2.0
    • builder

      public static MethodDef.MethodDefBuilder builder(io.micronaut.inject.ast.MethodElement methodElement, Function<String, @Nullable TypeDef> resolvedVariableFn, boolean generic)
      Creates a builder from MethodElement.
      Parameters:
      methodElement - The method element
      resolvedVariableFn - The type variable resolution function
      generic - Whether generic types should be preserved
      Returns:
      The method definition builder
      Since:
      2.0
    • builder

      public static MethodDef.MethodDefBuilder builder(MethodDef methodDef)
      Creates a builder from an existing MethodDef.
      Parameters:
      methodDef - The method definition
      Returns:
      The method definition builder
      Since:
      2.0
    • builder

      public static MethodDef.MethodDefBuilder builder(Method method)
      Creates a builder from a Method.
      Parameters:
      method - The reflective method
      Returns:
      The method definition builder
      Since:
      2.0
    • builder

      public static MethodDef.MethodDefBuilder builder(Constructor<?> constructor)
      Creates a builder from a Constructor.
      Parameters:
      constructor - The reflective constructor
      Returns:
      The method definition builder
      Since:
      2.0
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • isSynthetic

      public boolean isSynthetic()
      Returns:
      Is synthetic element
    • getName

      public final String getName()
    • getModifiers

      public final Set<Modifier> getModifiers()
    • getModifiersArray

      public final Modifier[] getModifiersArray()
    • getAnnotations

      public final List<AnnotationDef> getAnnotations()
    • getJavadoc

      public List<String> getJavadoc()