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
    public interface ParameterInjector<C,​T>
    Injector that injects parameters into CommandMethod annotated methods
    Since:
    1.2.0
    • Method Detail

      • 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