Interface ExecutionHandle<T,​R>

  • Type Parameters:
    T - The target type
    R - The result type
    All Superinterfaces:
    io.micronaut.core.annotation.AnnotationMetadata, io.micronaut.core.annotation.AnnotationMetadataDelegate, io.micronaut.core.annotation.AnnotationMetadataProvider, io.micronaut.core.annotation.AnnotationSource
    All Known Subinterfaces:
    MethodExecutionHandle<T,​R>

    public interface ExecutionHandle<T,​R>
    extends io.micronaut.core.annotation.AnnotationMetadataDelegate

    Represents a handle to an executable object. Differs from Executable in that the first argument to invoke(Object...) is not the object instead the object is typically held within the handle itself.

    Executable handles are also applicable to constructors and static methods

    Since:
    1.0
    • Field Summary

      • 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
    • Method Summary

      All Methods Static Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      io.micronaut.core.type.Argument[] getArguments()  
      java.lang.Class getDeclaringType()  
      T getTarget()
      The target of the method invocation.
      R invoke​(java.lang.Object... arguments)
      Invokes the method.
      static <T2,​R2>
      MethodExecutionHandle<T2,​R2>
      of​(T2 bean, ExecutableMethod<T2,​R2> method)
      Creates an ExecutionHandle for the give bean and method.
      • Methods inherited from interface io.micronaut.core.annotation.AnnotationMetadata

        getAnnotationValuesByName, getAnnotationValuesByStereotype, getDeclaredAnnotationValuesByName, getValues, hasDeclaredStereotype, isAnnotationPresent, isDeclaredAnnotationPresent
      • Methods inherited from interface io.micronaut.core.annotation.AnnotationMetadataDelegate

        booleanValue, booleanValue, booleanValue, booleanValue, classValue, classValue, classValue, classValue, classValues, classValues, classValues, classValues, 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, getAnnotationValuesByType, getDeclaredAnnotation, getDeclaredAnnotation, getDeclaredAnnotationNameByStereotype, getDeclaredAnnotationNames, getDeclaredAnnotationNamesByStereotype, getDeclaredAnnotationTypeByStereotype, getDeclaredAnnotationTypeByStereotype, getDeclaredAnnotationValuesByType, getDeclaredMetadata, getDeclaredStereotypeAnnotationNames, getDefaultValue, getDefaultValue, getDefaultValue, getDefaultValue, getDefaultValues, getStereotypeAnnotationNames, 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.core.annotation.AnnotationMetadataProvider

        getAnnotationMetadata
    • Method Detail

      • getTarget

        T getTarget()
        The target of the method invocation.
        Returns:
        The target object
      • getDeclaringType

        java.lang.Class getDeclaringType()
        Returns:
        The declaring type
      • getArguments

        io.micronaut.core.type.Argument[] getArguments()
        Returns:
        The required argument types.
      • invoke

        R invoke​(java.lang.Object... arguments)
        Invokes the method.
        Parameters:
        arguments - The arguments
        Returns:
        The result
      • of

        static <T2,​R2> MethodExecutionHandle<T2,​R2> of​(T2 bean,
                                                                   ExecutableMethod<T2,​R2> method)
        Creates an ExecutionHandle for the give bean and method.
        Type Parameters:
        T2 - The bean type
        R2 - The method return type
        Parameters:
        bean - The bean
        method - The method
        Returns:
        The execution handle