Interface ParameterInjector<C,T>

Type Parameters:
C - Command sender type
T - Type of the value that is injected by this injector
Functional Interface:
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

@FunctionalInterface @API(status=STABLE, since="1.2.0") public interface ParameterInjector<C,T>
Injector that injects parameters into CommandMethod annotated methods
Since:
1.2.0
  • Method Summary

    Modifier and Type
    Method
    Description
    @Nullable T
    create(@NonNull CommandContext<C> context, @NonNull AnnotationAccessor annotationAccessor)
    Attempt to create a a value that should then be injected into the CommandMethod annotated method.
  • Method Details

    • create

      @Nullable T create(@NonNull CommandContext<C> context, @NonNull AnnotationAccessor annotationAccessor)
      Attempt to create a a value that should then be injected into the CommandMethod annotated method. If the injector cannot (or shouldn't) create a value, it is free to return null.
      Parameters:
      context - Command context that is requesting the injection
      annotationAccessor - Annotation accessor proxying the method and parameter which the value is being injected into
      Returns:
      The value, if it could be created. Else null, in which case no value will be injected by this particular injector