Interface BoundExecutable<T,R>

Type Parameters:
T -
R -
All Superinterfaces:
AnnotationMetadataProvider, AnnotationSource, Executable<T,R>

public interface BoundExecutable<T,R> extends Executable<T,R>
A bound Executable is an executable who argument values have been pre-bound to values using a ArgumentBinderRegistry. Unlike a normal Executable zero arguments are expected and an exception will be thrown if the underlying target Executable cannot be invoked with the current state
  • Method Details

    • getTarget

      Executable<T,R> getTarget()
      Returns:
      The target executable
    • invoke

      R invoke(T instance)
      Invoke the bound Executable.
      Parameters:
      instance - The target instance
      Returns:
      The result
    • getBoundArguments

      Object[] getBoundArguments()
      That arguments that will be used to invoke the method.
      Returns:
      The arguments
    • getDeclaringType

      default Class<T> getDeclaringType()
      Specified by:
      getDeclaringType in interface Executable<T,R>
      Returns:
      The declaring type
    • getUnboundArguments

      default List<Argument<?>> getUnboundArguments()
      If the executable can only be partially bound then this method will return the arguments that have not been bound.
      Returns:
      The unbound arguments
    • invoke

      default R invoke(T instance, Object... arguments)
      Description copied from interface: Executable
      Invokes the method.
      Specified by:
      invoke in interface Executable<T,R>
      Parameters:
      instance - The instance. Nullable only if it's a static method call.
      arguments - The arguments
      Returns:
      The result
    • getArguments

      default Argument[] getArguments()
      Description copied from interface: Executable
      The required argument types.
      Specified by:
      getArguments in interface Executable<T,R>
      Returns:
      The arguments
    • getAnnotationMetadata

      default AnnotationMetadata getAnnotationMetadata()
      Description copied from interface: AnnotationMetadataProvider
      Supplies the metadata. Defaults to AnnotationMetadata.EMPTY_METADATA.
      Specified by:
      getAnnotationMetadata in interface AnnotationMetadataProvider
      Returns:
      The AnnotationMetadata