Interface Executable<T,R>

Type Parameters:
T - The declaring type
R - The result of the method call
All Superinterfaces:
AnnotationMetadataProvider, AnnotationSource
All Known Subinterfaces:
BeanDefinitionMethodReference<T,R>, BeanMethod<B,T>, BoundExecutable<T,R>, ConstructorInvocationContext<T>, DelegatingExecutableMethod<T,R>, ExecutableMethod<T,R>, InvocationContext<T,R>, MethodInvocationContext<T,R>, UnsafeExecutable<T,R>
All Known Implementing Classes:
AbstractBeanMethod, AbstractExecutableBeanMethod, AbstractExecutableMethod, ConstructorInterceptorChain, InterceptorChain, MethodInterceptorChain

public interface Executable<T,R> extends AnnotationMetadataProvider

Represents an executable reference. The reference could be implemented via reflection (slow) or via generated code

.
Since:
1.0
Author:
Graeme Rocher
  • Method Details

    • getDeclaringType

      @NonNull @NonNull Class<T> getDeclaringType()
      Returns:
      The declaring type
      Since:
      3.0.0
    • getArguments

      @NonNull @NonNull Argument<?>[] getArguments()
      The required argument types.
      Returns:
      The arguments
    • invoke

      @Nullable R invoke(@Nullable T instance, Object... arguments)
      Invokes the method.
      Parameters:
      instance - The instance. Nullable only if it's a static method call.
      arguments - The arguments
      Returns:
      The result