Class ParameterInjectorRegistry<C>

  • Type Parameters:
    C - Command sender type

    public final class ParameterInjectorRegistry<C>
    extends java.lang.Object
    Registry containing mappings between classes and injectors
    Since:
    1.2.0
    • Method Summary

      Modifier and Type Method Description
      <T> @NonNull java.util.Collection<@NonNull ParameterInjector<C,​?>> injectors​(@NonNull java.lang.Class<T> clazz)
      Get a collection of all injectors that could potentially inject a value of the given type
      <T> void registerInjector​(@NonNull java.lang.Class<T> clazz, @NonNull ParameterInjector<C,​T> injector)
      Register an injector for a particular type
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ParameterInjectorRegistry

        public ParameterInjectorRegistry()
    • Method Detail

      • registerInjector

        public <T> void registerInjector​(@NonNull java.lang.Class<T> clazz,
                                         @NonNull ParameterInjector<C,​T> injector)
        Register an injector for a particular type
        Type Parameters:
        T - Injected type
        Parameters:
        clazz - Type that the injector should inject for. This type will matched using Class.isAssignableFrom(Class)
        injector - The injector that should inject the value into the command method
      • injectors

        public <T> @NonNull java.util.Collection<@NonNull ParameterInjector<C,​?>> injectors​(@NonNull java.lang.Class<T> clazz)
        Get a collection of all injectors that could potentially inject a value of the given type
        Type Parameters:
        T - Generic type
        Parameters:
        clazz - Type to query for
        Returns:
        Immutable collection containing all injectors that could potentially inject a value of the given type